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

31258 Commits

Author SHA1 Message Date
Lennart Poettering
b6de578d73 resolved: beef up logic to detect our own configuration files
Let's also check for the static resolv.conf, so that we filter all three
of our own files out.
2017-12-08 17:25:08 +01:00
Lennart Poettering
a50d79103f resolved: don't make defines needlessly public 2017-12-08 17:25:08 +01:00
Lennart Poettering
ace68cd711 resolved: store the mtime of the file we read
Let's make sure we use the mtime of the current fstat() data, rather
than the mtime of the old stat(), fixing a theoretical race.
2017-12-08 17:25:08 +01:00
Lennart Poettering
043d392878 resolved: fix a minimal race, when reading /etc/resolv.conf
The user might replace a foreign /etc/resolv.conf with a symlink to one
of ours between the time we did stat() and open the file. Hence, let's
check the fstat() data right after opening the file, a second time.
2017-12-08 17:25:08 +01:00
Zbigniew Jędrzejewski-Szmek
5a15caf4b5 man: normalize indentation in systemd.unit.xml 2017-12-08 15:36:15 +01:00
Zbigniew Jędrzejewski-Szmek
2bf9250617 man: add a table of setting inverses
It would be nicer to use <footnote> to place the notes directly in the table,
but docbook renders this improperly.

v2:
- also add "RequiredBy=" to the notes section
- remove duplicated paragraph
v3:
- clarify the description
- drop References/ReferenceBy which are only shown in systemd-analyze dump
2017-12-08 15:36:15 +01:00
Yu Watanabe
848f01784e acl: fix typo in comment (#7580) 2017-12-08 13:34:25 +01:00
Patrik Flykt
349a981d32 networkd: Ignore DNS information when uplink is not managed (#7571)
When another networking daemon or configuration is handling the
uplink connection, systemd-networkd won't have a network configuration
associated with the link, and therefore link->network will be NULL.
An assert will be triggered later on in the code when link->network is
NULL.
2017-12-08 13:33:40 +01:00
Dmitry Rozhkov
400f54fb36 resolved: support multiple TXT RRs per DNS-SD service
Section 6.8 of RFC 6763 allows having service instances with
multiple TXT resource records.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
84b0f133e4 resolved: consult Polkit for privileges when manipulating DNS-SD 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
e7c1b0e456 resolved: resolve possible conflicts for DNS-SD RRs
It might happen that a DNS-SD service doesn't include local host's
name in its RR keys and still conflicts with a remote service.

In this case try to resolve the conflict by changing name for
this particular service.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
d686f15c9e resolved: don't check conflicts for DNS-SD enumeration RRs 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
6e73d91ec8 resolved: add man page for systemd.dnssd 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
c3036641f0 resolved: implement D-Bus API for DNS-SD 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
8d67e72cbe resolved: detect and handle mDNS race condition upon probing
As discussed in RFC 6762, Section 8.2 a race condition may
happen when two hosts are probing for the same name simultaniously.

Detect and handle such race conditions.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
0d5ee47dfd resolved: add authority section to mDNS probing queries
According to RFC 6762 Section 8.2 "Simultaneous Probe Tiebreaking"
probing queries' Authority Section is populated with proposed
resource records in order to resolve possible race conditions.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
748a548e1b resolved: set cache-flush bit on mDNS responses
From RFC 6762, Section 10.2
"They (the rules about when to set the cache-flush bit) apply to
startup announcements as described in Section 8.3, "Announcing",
and to responses generated as a result of receiving query messages."

So, set the cache-flush bit for mDNS answers except for DNS-SD
service enumerattion PTRs described in RFC 6763, Section 4.1.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
008d4ab7a2 resolved: make rfc4795-specific code run for LLMNR only
RFC6762 specifies different procedure for conflict resolution and
the code is not applicable for the mDNS case.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
a2bf8a19cc resolved: announce DNS-SD records in mDNS scopes 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
6db6a4642e resolved: put DNS-SD records to mDNS-enabled zones. 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
6501dd31a7 resolved: add enablers for DNS-SD
Introduce network services loaded from .dnssd files that
can be used for server-side DNS-SD implementation in systemd-resolved.
2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
ebb779dc23 resolved: inroduce dns_txt_item_new_empty() function 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
154ae08781 shared: introduce dnssd_srv_type_is_valid() function 2017-12-08 14:29:27 +02:00
Dmitry Rozhkov
9c5e7b73f7 resolved: answer all mDNS questions found in packet
According to p5.3 of RFC6762 (Multicast DNS) one mDNS query message
can contain more than one question sections.

Generate answers for all found questions and put them to a reply
message.
2017-12-08 14:29:26 +02:00
Lennart Poettering
9e32914aa5
Merge pull request #7570 from keszybz/sulogin-shell-reload-manager
Reload manager before exit from sulogin shell
2017-12-08 13:09:45 +01:00
Clinton Roy
164147c336 man: missing whitespace (#7579) 2017-12-08 11:44:20 +09:00
Olaf Hering
1a8e414860 virt: propagate errors in detect_vm_xen_dom0 (#7553)
Update detect_vm_xen_dom0 to propagate errors in case reading
/proc/xen/capabilites fails. This does not fix any bugs, it just makes
it consistent with other functions called by detect_vm.
2017-12-07 21:09:32 +01:00
Harald Hoyer
bfdf8c3bb8 boot/efi: fixup TPM V2 measuring and logging (#7568)
Honor the log format and use packed event structures.

Fixes https://github.com/systemd/systemd/issues/7118
2017-12-07 21:07:53 +01:00
Zbigniew Jędrzejewski-Szmek
ba60adc623
Merge pull request #7572 from poettering/taint-manager
"taint" logic improvements and other minor fixes
2017-12-07 21:06:28 +01:00
Zbigniew Jędrzejewski-Szmek
fa9ee6f357
Merge pull request #7573 from poettering/empty-to-null
use empty_to_null() where we can
2017-12-07 21:04:53 +01:00
Zbigniew Jędrzejewski-Szmek
8ea2dcb061
NEWS: mention systemd-tmpfiles --user (#7574) 2017-12-07 21:03:32 +01:00
Lennart Poettering
2ac6aeace1
Merge pull request #7562 from poettering/fix-manager-test-mkdir
fix --test mode
2017-12-07 17:31:34 +01:00
Zbigniew Jędrzejewski-Szmek
9db82fe3c2 sulogin-shell: replace "^D" by "exit"
^D is a bit cryptic, and advanced users will know that they can use ^D instead
of typing exit anyway.
2017-12-07 12:42:06 +01:00
Lennart Poettering
38edd43d48 update TODO 2017-12-07 12:34:46 +01:00
Lennart Poettering
8fd010bb1b nspawn: turn on watchdog logic for nspawn too
It's a long-running daemon, and it's easy to enable, hence do it.
2017-12-07 12:34:46 +01:00
Lennart Poettering
90d7464d83 manager: taint the manager if the overflowuid/overflowgid aren't set to 65534 2017-12-07 12:34:46 +01:00
Zbigniew Jędrzejewski-Szmek
375c3f6aae sulogin-shell: do daemon-reload before starting default target
If the user modifies configuration, e.g. /etc/fstab, they might forget to tell
systemd about the changes. Let's do a reload for them.

Note that doing a reload should be safe, because emergency and rescue modes are
"single threaded" and nothing should be doing changes at the point where we are
exiting from the sushell. Also, daemon-reload can be implicitly called at
various moments, so we can ignore the case where the user did some incompatible
changes on disk and is counting on systemd never reloading and picking them up.

C.f. #7565.
2017-12-07 12:34:31 +01:00
Zbigniew Jędrzejewski-Szmek
cccb78f093 sulogin-shell: simplify returns from a function
This is actually slightly safer because it allows gcc to make sure that all code
paths either call return or are noreturn. But the real motivation is just to
follow the usual style and make it a bit shorter.
2017-12-07 12:34:12 +01:00
Zbigniew Jędrzejewski-Szmek
e821f6a916 meson: place systemd-sulogin-shell in build/
We do that will all executables so that it's easy to call them.
2017-12-07 12:34:12 +01:00
Lennart Poettering
a8ea93a5e2 core: use empty_to_null() where we can 2017-12-07 12:13:00 +01:00
Lennart Poettering
3708254f36 coccinelle: improve run-coccinelle.sh to take list of scripts to run
Let's tweak run-coccinelle.sh to optionally take a list of scripts to
run. If not specified, run all scripts, as before.
2017-12-07 12:11:13 +01:00
Lennart Poettering
cefb3eda60 core: add console error message if manager_startup() fails 2017-12-07 11:28:00 +01:00
Lennart Poettering
af6b0ecc4c core: make "taint" string logic a bit more generic and output it at boot
The tainting logic existed for a long time, but was hidden inside the
bus interfaces. Let's give it a small bit more coverage, by logging its
value early at boot during initialization.
2017-12-07 11:27:07 +01:00
Lennart Poettering
e27fe688f2 manager: don't check /usr state of initrd to determine "taint-usr" taint 2017-12-07 11:09:09 +01:00
Lennart Poettering
5eb397cfad manager: don't bother with creating /run/systemd/units/ in test mode
This makes sure running "systemd --test" works again on systems running
older systemd versions where the dir doesn't exist yet.
2017-12-07 11:07:55 +01:00
Zbigniew Jędrzejewski-Szmek
e97b7b5a9c
Merge pull request #7567 from yuwata/fix-nobody
nobody related fixes
2017-12-07 11:07:02 +01:00
Lennart Poettering
279d81dd46 manager: split out code that sets up run_queue event source into function of its own
Let's shorten manager_new() a bit.
2017-12-07 11:02:47 +01:00
Zbigniew Jędrzejewski-Szmek
b292066890 man: mention BoundsBy=, ConsistsOf=, RequisiteOf=
Fixes #7043.
2017-12-07 09:47:03 +01:00
Yu Watanabe
8374cc6235 meson: warn if nobody-user and nobody-group are set to different name
It may work, but is very strange. So, let's warn about that.

v2:
Debian uses nobody and nogroup. Do not warn such case.
2017-12-07 17:19:11 +09:00
Yu Watanabe
6071202165 sysusers: use NOBODY_USER_NAME 2017-12-07 17:12:13 +09:00