Commit graph

31192 commits

Author SHA1 Message Date
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
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
Yu Watanabe a3d37fe9a3 test: use NOBODY_USER_NAME instead of hard-coded string "noody" 2017-12-07 17:12:09 +09:00
Lennart Poettering ea781d0dd8
Merge pull request #7554 from keszybz/autodetect-build
Autodetect build directory ignoring mkosi artefacts
2017-12-07 09:07:40 +01:00
Zbigniew Jędrzejewski-Szmek 43a29e2b65
Merge pull request #7560 from poettering/refactor-main
reduce main() size a bit
2017-12-07 08:51:04 +01:00
Zbigniew Jędrzejewski-Szmek 00562cc356
Merge pull request #7566 from yuwata/fix-bootspec-default-entry
bootspec: fix debug message about default entry
2017-12-07 08:49:11 +01:00
Lennart Poettering 5dfcaaaf11 units: delegate only "cpu" and "pids" controllers by default (#7564)
Now that we can configure which controllers to delegate precisely, let's
limit wht we delegate to the user session: only "cpu" and "pids" as a
minimal baseline.

Fixes: #1715
2017-12-07 08:48:08 +01:00
Yu Watanabe ad1afd60d4 bootspec: make boot_entries_select_default() static
The function is used only in bootspec.c.
So, let's make the function static.
2017-12-07 14:52:39 +09:00
Yu Watanabe 5838493a3a bootspec: fix debug message about default entry
When no entries matches with entry_oneshot, entry_default and
default_pattern, then log message shows a wrong entry.
Moreover, if none of entry_oneshot, entry_default and default_pattern
are set, then the index `i` is uninitialized.
This fixes such problem.
2017-12-07 14:50:49 +09:00
Christian Hesse dd014eebfb NEWS: add missing whitespace (#7561) 2017-12-06 23:49:01 +01:00
Zbigniew Jędrzejewski-Szmek a6300ead67
Merge pull request #7551 from poettering/resolved-unknown-scope
downgrade resolved log messages about incoming packets from unknown scopes
2017-12-06 23:30:51 +01:00
Zbigniew Jędrzejewski-Szmek 4dbb344fce
Merge pull request #7559 from evverx/incorrect-spec-memleak
shared: fix a memory leak
2017-12-06 22:56:02 +01:00
Lennart Poettering 31aef7ff2b core: split out execution context logging from main()
Again, no functional changes, let's just shorten main() a bit, by
splitting out more code into a separate functions.
2017-12-06 21:57:35 +01:00
Lennart Poettering 6c78f016d7 core: move write_container_id() invocation into initialize_runtime()
This moves the invocation a bit later, but that shoudln't matter. By
moving it we gain two things: first of all, its closer to other code
where it belongs, secondly its naturally conditioned properly, as we no
longer will rewrite the container ID file on every reexecution again,
and not in test mode either.
2017-12-06 21:57:35 +01:00
Lennart Poettering 5afbaa36f4 core: split out various system/process initialization steps into its own function
Again, no changes in behaviour, just some refactoring to make main() a
bit more digestable.
2017-12-06 21:57:35 +01:00
Lennart Poettering 970777b59a core: split out code that frees arg_xyz variables
No change in behaviour, just some refactoring to shorten main() a bit.
2017-12-06 21:57:35 +01:00
Lennart Poettering 6acca5fcd1 core: split out code that queues default job from main()
No functional changes really, just some refactoring to shorten main() a
bit
2017-12-06 21:57:35 +01:00
Lennart Poettering 7eb3504969 core: split out the core loop out of main()
No real functional changes, just some rearranging to shorten the overly
long main() function a bit.

This gets rid of the arm_reboot_watchdog variable, as it can be directly
derived from shutdown_verb, and we need it only one time. By dropping it
we can reduce the number of arguments we need to pass around.
2017-12-06 21:57:35 +01:00