Lennart Poettering [Wed, 28 Nov 2018 19:05:49 +0000 (20:05 +0100)]
swap: flush out state when activating a unit, not when deactivating it
This is similar to the previous commit which did the same change for
mount units.
Lennart Poettering [Wed, 28 Nov 2018 19:01:24 +0000 (20:01 +0100)]
mount: flush out cycle state on DEAD→MOUNTED only, not the other way round
For services (and other units) we generally follow the rule that at the
beginning of each cycle, i.e. when the INACTIVE/FAILED state is left for
ACTIVATING/ACTIVE we flush out various state variables. Mount units
handled this differently so far when the unit state change was effected
outside of systemd: in that case these variables would be flushed out
when going back to INACTIVE/FAILED already.
Let's fix that, and flush out this state always during the activating
transition, not during the deactivating transition.
Lennart Poettering [Wed, 28 Nov 2018 18:06:30 +0000 (19:06 +0100)]
mount: replace three closely related mount flags into a proper flags enum
We pass these flags around, and even created a structure for them. Let's
fix things properly, and make them a flags value of its own.
Lennart Poettering [Wed, 28 Nov 2018 18:02:47 +0000 (19:02 +0100)]
mount: strdup() device paths we collect
We never know what the changes triggered by mount_set_state() do to the
unit. Let's be safe and copy the device path into our set, so that we
are safe against that.
Lennart Poettering [Wed, 28 Nov 2018 13:58:18 +0000 (14:58 +0100)]
mount: when the kernel reports a mount to be established reset all kinds of load failures
It doesn't matter what kind of precise failure we had earlier with
loading the unit, let's report that it loaded successfully now, after
all the kernel is an OK source for that, like any other.
Lennart Poettering [Wed, 28 Nov 2018 13:56:27 +0000 (14:56 +0100)]
mount: regenerate all deps whenever a mount's parameters changes
Whenever we notice a change on an existing /proc/self/mountinfo line,
let's update the deps generated from it. For that, let's flush out the
old deps generated this way, and add in the new ones.
This takes benefit of the fact that today (unlike a comment this patch
removes says) we can remove deps in a somewhat reasonable way.
Lennart Poettering [Wed, 28 Nov 2018 13:51:04 +0000 (14:51 +0100)]
mount: when allocating a Mount object based on /proc/self/mountinfo mark it so
Let's set 'from_proc_self_mountinfo' right away, since we know its from
there. This is important so that when the load queue is dispatched (and
thus mount_load() called) this
fact is already known.
Lennart Poettering [Wed, 28 Nov 2018 13:42:21 +0000 (14:42 +0100)]
mount: let mount_add_extras() take care of remote-fs.target deps
In a previous commit we added logic that mount_add_extras() (or more
precisely mount_add_default_dependencies()) adds in dependencies on
remote-fs.target and local-fs.target, hence we can drop this from
mount_setup_new_unit() and let the usual load queue dispatching take
care of this.
Lennart Poettering [Wed, 28 Nov 2018 13:40:56 +0000 (14:40 +0100)]
mount: use free_and_strdup() over plain strdup()
Let's initialize two fields with free_and_strdup() rather than directly
with strdup(). The fields should not be initialized so far, but it's
still nicer to be prepared for futzre code changes and always free
what's stored before replacing it.
Lennart Poettering [Wed, 28 Nov 2018 11:52:12 +0000 (12:52 +0100)]
mount: generate error message matching the error location
Lennart Poettering [Wed, 28 Nov 2018 11:50:01 +0000 (12:50 +0100)]
mount: move allocation of Unit object into mount_setup_new_unit()
This should encapsulate things in a nicer way.
Lennart Poettering [Wed, 28 Nov 2018 11:46:35 +0000 (12:46 +0100)]
mount: add a common helper for filling in info from /proc/self/mountinfo
Lennart Poettering [Wed, 28 Nov 2018 11:41:44 +0000 (12:41 +0100)]
mount: don't propagate errors from mount_setup_unit() further up
If we can't process a specific line in /proc/self/mountinfo we should
log about it (which we do), but this should not affect other lines, nor
further processing of mount units. Let's keep these failures local.
Fixes: #10874
Lennart Poettering [Wed, 28 Nov 2018 11:41:14 +0000 (12:41 +0100)]
mount: simplify de-serialization of control PID a bit
Lennart Poettering [Wed, 28 Nov 2018 11:40:37 +0000 (12:40 +0100)]
mount: serialize umount retry counter across reloads/reexec
Lennart Poettering [Wed, 28 Nov 2018 11:37:43 +0000 (12:37 +0100)]
mount: make sure mount_add_extras() is always invoked when we load a mount unit
We need to make sure that the slice property is initialized whenever
mount_load() is invoked, even if we fail to load things properly off
disk. This is important since we generally don't allow changing the
slice after a unit has been started. But given that we must track the
state of external objects with mount units we must hence initialize the
property no matter what.
Lennart Poettering [Wed, 28 Nov 2018 11:37:23 +0000 (12:37 +0100)]
mount: document that mount_add_extras() must work with active units, too
Lennart Poettering [Wed, 28 Nov 2018 11:35:37 +0000 (12:35 +0100)]
mount: set up local-fs.target/remote-fs.target deps in mount_add_default_dependencies() too
This deps are very similar to the -pre deps, hence establish them at the
same place, in particular as they should only be generated if default
deps are on.
This allows us to later on remove similar code that adds in these deps
whenever /proc/self/mountinfo changes.
Lennart Poettering [Wed, 28 Nov 2018 11:33:45 +0000 (12:33 +0100)]
mount: remove unnecessary initialization of device_wants_mount and 'if'
Lennart Poettering [Wed, 28 Nov 2018 11:33:21 +0000 (12:33 +0100)]
mount: use mfree() where appropriate
Lennart Poettering [Wed, 28 Nov 2018 11:32:35 +0000 (12:32 +0100)]
mount: rename needs_quota() → mount_needs_quota()
No change of logic, just some renaming, in order to match more closely
the naming of the other, similar functions.
Lennart Poettering [Wed, 28 Nov 2018 11:32:14 +0000 (12:32 +0100)]
mount: merge redundant call mount_needs_network() into mount_is_network()
Evgeny Vereshchagin [Fri, 7 Dec 2018 08:49:51 +0000 (09:49 +0100)]
travis: also compile systemd on Debian Testing
This should help to catch issues like https://github.com/systemd/systemd/issues/11075
Filipe Brandenburger [Wed, 5 Dec 2018 22:13:02 +0000 (14:13 -0800)]
man: fix reference to sd_journal_print(3)
The reference in systemd-journald.service(8) was incorrectly pointing to
man volume 4 instead of 3.
This commit should fix the broken link at
https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
Yu Watanabe [Fri, 7 Dec 2018 09:11:36 +0000 (18:11 +0900)]
missing: re-add drm related entries
This effectively reverts
dab28f09051445fe370466e767e31652e0804a0f.
Fixes #11075.
Yu Watanabe [Thu, 6 Dec 2018 17:51:56 +0000 (18:51 +0100)]
bash-completion: analyze: support 'security'
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 07:03:32 +0000 (08:03 +0100)]
Merge pull request #11072 from yuwata/fix-networkctl-ip6gre
networkctl: fix TYPE field of ip6gre devices
Yu Watanabe [Thu, 6 Dec 2018 16:42:44 +0000 (17:42 +0100)]
missing: add ARPHRD_IP6GRE
This fixes TYPE field of networkctl's output for ip6gre devices.
Yu Watanabe [Thu, 6 Dec 2018 16:42:21 +0000 (17:42 +0100)]
af-list,arphrd-list: also include relevant missing_*.h headers
Yu Watanabe [Fri, 7 Dec 2018 02:48:37 +0000 (11:48 +0900)]
journal: use missing_audit.h to generate audit_type-list.txt
Yu Watanabe [Thu, 6 Dec 2018 16:38:37 +0000 (17:38 +0100)]
cap-list: use missing_capabilty.h to generate list of capabilities
Yu Watanabe [Fri, 7 Dec 2018 01:53:40 +0000 (02:53 +0100)]
Merge pull request #11038 from keszybz/man-timeouts
Small improvements for documentation of timeout options
Zbigniew Jędrzejewski-Szmek [Thu, 6 Dec 2018 14:04:14 +0000 (15:04 +0100)]
systemctl: be nice to users and give hint how to specify "-.mount"
https://bugzilla.redhat.com/show_bug.cgi?id=1656639
Using "--" is a trick that is hard to discover. Let's give users a hint:
$ build/systemctl status -.service
build/systemctl: invalid option -- '.'
Hint: to specify units starting with a dash, use "--":
build/systemctl [OPTIONS...] {COMMAND} -- -.service ...
I use program_invocation_name because that's what getopt seems to use.
"::" is used in the option string so that getopt doesn't complain about
a missing argument in case somebody passes "-." as the argument. After all
"." is not a real option.
Zbigniew Jędrzejewski-Szmek [Thu, 6 Dec 2018 08:56:37 +0000 (09:56 +0100)]
shared/blkid-util: do not include util.h needlessly
Yu Watanabe [Thu, 6 Dec 2018 17:03:01 +0000 (18:03 +0100)]
Revert "pager: close all fds when forking off pager"
This reverts commit
55844aebb60b42f56335eb147dd395269d8fb686.
As `exe_name_pipe` are closed by safe_fork().
Yu Watanabe [Thu, 6 Dec 2018 18:29:42 +0000 (19:29 +0100)]
Merge pull request #11056 from poettering/resolved-ifindex
resolved: request incoming ifindex for DNS UDP packets, too
Yu Watanabe [Thu, 6 Dec 2018 18:16:53 +0000 (19:16 +0100)]
Merge pull request #11066 from yuwata/test-network-tiny-cleanups
test-network: several cleanups
Alexey Bogdanenko [Thu, 6 Dec 2018 14:54:46 +0000 (17:54 +0300)]
test-resolved: fix error code check in assertion
If file "/etc/hosts" does not exist, fopen fails and sets errno to ENOENT
("No such file or directory"). So errno should be compared with ENOENT.
This mistake causes test test-resolved-etc-hosts to fail when run on Debian
image built with mkosi.debian included in the repo. The image does not include
"/etc/hosts" file as it is not created by debootstrap, see debootstrap manpage
https://manpages.debian.org/stretch/debootstrap/debootstrap.8.en.html.
Zbigniew Jędrzejewski-Szmek [Thu, 6 Dec 2018 16:19:21 +0000 (17:19 +0100)]
Merge pull request #10935 from poettering/rlimit-nofile-safe
Merged by hand to resolve a trivial conflict in TODO.
Yu Watanabe [Thu, 6 Dec 2018 15:54:27 +0000 (16:54 +0100)]
Merge pull request #11063 from yuwata/update-missing-v3
missing: split missing.h into small pieces
Yu Watanabe [Thu, 6 Dec 2018 15:46:16 +0000 (16:46 +0100)]
test-network: make search_words_in_file() hit multi words
Yu Watanabe [Thu, 6 Dec 2018 15:02:55 +0000 (16:02 +0100)]
test-network: delete rules before running next test
Yu Watanabe [Thu, 6 Dec 2018 14:33:23 +0000 (15:33 +0100)]
test-network: add a line break after starting networkd
This may be ugly. But otherwise, outputs of several check commands
are shown without new line...
Yu Watanabe [Thu, 6 Dec 2018 14:14:57 +0000 (15:14 +0100)]
test-network: check link before starting dnsmasq
Yu Watanabe [Thu, 6 Dec 2018 14:12:28 +0000 (15:12 +0100)]
test-network: show command outputs
Yu Watanabe [Thu, 6 Dec 2018 13:59:49 +0000 (14:59 +0100)]
test-network: sort imported modules
Yu Watanabe [Thu, 6 Dec 2018 13:57:20 +0000 (14:57 +0100)]
test-network: sort links and units
Yu Watanabe [Thu, 6 Dec 2018 14:29:55 +0000 (15:29 +0100)]
test-network: fix typo in class name
Zbigniew Jędrzejewski-Szmek [Thu, 6 Dec 2018 15:42:21 +0000 (16:42 +0100)]
Merge pull request #10963 from poettering/bus-force-state-change-signal
force PropertiesChanged bus signal on all unit state changes
Paweł Szewczyk [Fri, 30 Nov 2018 11:35:23 +0000 (12:35 +0100)]
fd-util: Fix error handling in safe_fclose
Function fclose_nointr returns negative value on error.
Zbigniew Jędrzejewski-Szmek [Thu, 6 Dec 2018 14:26:05 +0000 (15:26 +0100)]
Merge pull request #10994 from poettering/sd-bus-tweaks
small sd-bus tweaks
Yu Watanabe [Thu, 6 Dec 2018 13:32:52 +0000 (14:32 +0100)]
Merge pull request #10988 from ssahani/IFLA_BRPORT_MCAST_TO_UCAST
networkd: bridge add support to configure multicast_to_unicast
Yu Watanabe [Thu, 6 Dec 2018 13:27:36 +0000 (14:27 +0100)]
Merge pull request #11032 from ssahani/invert-rule
networkd: RPDB rule - add support to configure inverted rule.
Yu Watanabe [Thu, 6 Dec 2018 06:41:52 +0000 (07:41 +0100)]
tree-wide: drop missing.h from headers and use relevant missing_*.h
Yu Watanabe [Thu, 6 Dec 2018 06:30:35 +0000 (07:30 +0100)]
lockfile: drop unnecessary headers from lockfile-util.h
Yu Watanabe [Thu, 6 Dec 2018 06:23:23 +0000 (07:23 +0100)]
nsflsgs: drop missing.h and use missing_sched.h
Yu Watanabe [Thu, 6 Dec 2018 06:20:07 +0000 (07:20 +0100)]
util: drop missing.h from socket-util.h
Yu Watanabe [Thu, 6 Dec 2018 06:19:27 +0000 (07:19 +0100)]
util: drop missing.h from time-util.c
Yu Watanabe [Thu, 6 Dec 2018 05:57:27 +0000 (06:57 +0100)]
missing: move fs or mount related definitions to missing_fs.h
This also fixes errnous definition MS_REC -> MS_SLAVE.
Yu Watanabe [Thu, 6 Dec 2018 05:55:19 +0000 (06:55 +0100)]
missing: drop falloc related definitions
All these values are exposed earlier than linux-3.11.
Let's drop them.
Yu Watanabe [Thu, 6 Dec 2018 06:13:02 +0000 (07:13 +0100)]
missing: move sched.h related definitions to missing_sched.h
Yu Watanabe [Thu, 6 Dec 2018 06:12:26 +0000 (07:12 +0100)]
missing: drop old drm related definitions
These values are exposed earlier than linux-3.11.
Let's use drm/drm.h.
Yu Watanabe [Thu, 6 Dec 2018 05:50:40 +0000 (06:50 +0100)]
missing: drop BPF_XOR as we have linux/bpf_common.h
Yu Watanabe [Thu, 6 Dec 2018 05:50:11 +0000 (06:50 +0100)]
missing: drop DM_DEFERRED_REMOVE as we have dm-ioctl.h
Yu Watanabe [Thu, 6 Dec 2018 05:49:18 +0000 (06:49 +0100)]
missing: move definition of secure_getenv() to missing_stdlib.h
Yu Watanabe [Thu, 6 Dec 2018 05:47:47 +0000 (06:47 +0100)]
missing: move rand related definitions to missing_random.h
Yu Watanabe [Thu, 6 Dec 2018 05:46:33 +0000 (06:46 +0100)]
missing: drop TIOCVHANGUP
This is defined before linux-3.11. Also, its value depnends on
architecture. So, it is not good to define in this form.
Yu Watanabe [Thu, 6 Dec 2018 05:44:47 +0000 (06:44 +0100)]
missing: add memfd related definitions to missing_mman.h
Yu Watanabe [Thu, 6 Dec 2018 05:43:12 +0000 (06:43 +0100)]
missing: move timer related definition to missing_timerfd.h
Yu Watanabe [Thu, 6 Dec 2018 05:41:34 +0000 (06:41 +0100)]
missing: move socket related definitions to missing_socket.h
Yu Watanabe [Thu, 6 Dec 2018 05:38:40 +0000 (06:38 +0100)]
missing: move fcntl related definitions to missing_fcntl.h
Yu Watanabe [Thu, 6 Dec 2018 05:36:30 +0000 (06:36 +0100)]
missing: move resource related definitions to missing_resource.h
Yu Watanabe [Thu, 6 Dec 2018 05:34:04 +0000 (06:34 +0100)]
missing: move audit related definitions to missing_audit.h
Yu Watanabe [Thu, 6 Dec 2018 05:32:41 +0000 (06:32 +0100)]
missing: move syscall related definitions to missing_syscall.h
Yu Watanabe [Thu, 6 Dec 2018 05:30:19 +0000 (06:30 +0100)]
random-util: drop duplicated linux/random.h
Yu Watanabe [Thu, 6 Dec 2018 05:29:22 +0000 (06:29 +0100)]
missing: drop old OOM related definitions
These are exposed earlier than linux-3.11. Let's just include linux/oom.h.
Yu Watanabe [Thu, 6 Dec 2018 05:27:51 +0000 (06:27 +0100)]
missing: move one more network related definition to missing_network.h
Yu Watanabe [Thu, 6 Dec 2018 05:24:20 +0000 (06:24 +0100)]
missing: use integer types used by kernel
By using them, we can decrease included headers except linux/types.h.
Susant Sahani [Thu, 6 Dec 2018 06:24:14 +0000 (11:54 +0530)]
test-network: add test for bridge MulticastToUnicast
Yu Watanabe [Thu, 6 Dec 2018 05:22:50 +0000 (06:22 +0100)]
macro: include errno.h
As several macros touch errno.
Susant Sahani [Thu, 6 Dec 2018 05:30:36 +0000 (11:00 +0530)]
test-network: Add test for invert RPDB rule
Susant Sahani [Mon, 3 Dec 2018 12:55:30 +0000 (18:25 +0530)]
networkd: RPDB rule - add support to configure inverted rule.
Closes #10706
Yu Watanabe [Tue, 4 Dec 2018 09:44:55 +0000 (10:44 +0100)]
missing: move several network related entries to missing_network.h
Yu Watanabe [Wed, 5 Dec 2018 22:13:17 +0000 (23:13 +0100)]
Merge pull request #11021 from ssahani/isatap
networkd: Add support to configure ISATAP tunnel
Lennart Poettering [Wed, 5 Dec 2018 17:42:32 +0000 (18:42 +0100)]
logs-show: use grey color for de-emphasizing journal log output
Lennart Poettering [Wed, 5 Dec 2018 17:38:50 +0000 (18:38 +0100)]
resolvectl: color "comment" output grey
Let's de-emphasize the "comment" output a bit, by making it grey.
Lennart Poettering [Wed, 5 Dec 2018 17:23:48 +0000 (18:23 +0100)]
resolvectl: add some basic highlighting to query output
Let's highlight the actual payload the user requested.
Lennart Poettering [Wed, 5 Dec 2018 16:42:09 +0000 (17:42 +0100)]
resolvectl: when doing reverse lookups, show ifindex as "comment" too in output
Similar as before: don't output ifindex twice on the same address, and
show it as comment only.
Do this for reverse lookup output and all other output too.
Lennart Poettering [Wed, 5 Dec 2018 16:31:35 +0000 (17:31 +0100)]
resolvectl: fix interface output when resolving hostnames→addresses
We already used in_addr_ifindex_to_string() which internally appends the
ifindex to the address with % if necessary. It's simply wrong to attach the
intreface a second time with % then. Also, it breaks stuff that cannot
deal with that. Hence, let's reformat this, and add the ifindex as a
comment to the output, and drop the second % suffix.
Lennart Poettering [Wed, 5 Dec 2018 13:02:06 +0000 (14:02 +0100)]
resolvectl: remove allow_loopback parameter from ifname_mangle()
All our bus calls validate whether the specified device is a loopback
device anyway on the server side. Let's hence simplify the client,
there's no value in optimizing error paths after all. But there is value
in simpler code.
Lennart Poettering [Wed, 5 Dec 2018 12:58:34 +0000 (13:58 +0100)]
resolvectl: for our per-link verbs alternatively accept interface name in -i
it's a bit confusing that we take two interfaces for verbs such as "dns"
or "domain": once after the verb, and once as --interface=. While
there's logic behind it, let's make this least surprising: if either is
specified be happy.
This means "resolvectl -i foo dns" is now equivalent to "resolvectl dns
foo …". Note that this is a tweak only, to minimize surprises. We don't
document this alternative syntax, and shouldn't to keep things simple.
Lennart Poettering [Wed, 5 Dec 2018 12:33:31 +0000 (13:33 +0100)]
resolvectl: rework ifname_mangle()
Let's compare the ifname passed in with what is set already if there is
something set already. Complain in that case. This makes commands such
as "resolvectl -i foo dns bar" less weird, as we'll refuse the duplicate
ifname specifications.
Also, free the old arg_ifname right before assigning the new, instead of
doing so in advance.
Lennart Poettering [Tue, 4 Dec 2018 22:18:50 +0000 (23:18 +0100)]
resolved: request incoming ifindex for DNS UDP packets, too
This information is useful to pass back to the caller, as it tells us
where we found the answer.
(While we are at it, fix the socket level for the RECVERR logic)
Fixes: #9778
Zbigniew Jędrzejewski-Szmek [Wed, 5 Dec 2018 16:19:35 +0000 (17:19 +0100)]
Merge pull request #11053 from poettering/rc-local-tweak
rc-local-generator message tweak
Lennart Poettering [Tue, 4 Dec 2018 17:42:31 +0000 (18:42 +0100)]
rc-local-generator: tweak log message generation
Let's be more explicit, and not use LOG_WARNING log level when there's
nothing really wrong.
Fixes: #11044
Follow-up for: #10955
Lennart Poettering [Tue, 4 Dec 2018 17:41:27 +0000 (18:41 +0100)]
rc-local-generator: small shortification
Evgeny Vereshchagin [Wed, 5 Dec 2018 10:38:53 +0000 (11:38 +0100)]
README: embed a CentOS CI badge into README
Plus be more specific about where the badges point to.
Marc-Antoine Perennou [Wed, 5 Dec 2018 10:28:45 +0000 (11:28 +0100)]
systemctl: drop my copyright
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Evgeny Vereshchagin [Wed, 5 Dec 2018 06:19:46 +0000 (09:19 +0300)]
Merge pull request #11025 from evverx/clang-asan
travis: also run the tests built with clang under ASan+UBsan
Evgeny Vereshchagin [Wed, 5 Dec 2018 06:05:02 +0000 (09:05 +0300)]
Merge pull request #11051 from poettering/sock-addr-un-len
trick out ubsan