]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agoupdate TODO 17338/head
Lennart Poettering [Wed, 14 Oct 2020 07:31:26 +0000 (09:31 +0200)] 
update TODO

5 years agotest-fd-util: add test case for close_all_fd()
Lennart Poettering [Tue, 13 Oct 2020 16:08:01 +0000 (18:08 +0200)] 
test-fd-util: add test case for close_all_fd()

5 years agofd-util: port close_all_fds() to close_range()
Lennart Poettering [Tue, 13 Oct 2020 16:06:45 +0000 (18:06 +0200)] 
fd-util: port close_all_fds() to close_range()

5 years agomissing: add close_range() wrapper
Lennart Poettering [Tue, 13 Oct 2020 15:53:25 +0000 (17:53 +0200)] 
missing: add close_range() wrapper

The syscall was added in 5.9 and is not yet exposed in glibc, hence
define our own wrapper.

5 years agoseccomp: allowlist close_range() by default in @basic-io
Lennart Poettering [Wed, 14 Oct 2020 07:40:37 +0000 (09:40 +0200)] 
seccomp: allowlist close_range() by default in @basic-io

5 years agoalloc-util: avoid allocating zero size memory blocks
Lennart Poettering [Wed, 14 Oct 2020 08:24:08 +0000 (10:24 +0200)] 
alloc-util: avoid allocating zero size memory blocks

It's not clear what libc's make of this. We clamp to 1 byte allocations
in most cases already, let's add this for a few where this was missing.

5 years agoanalyze: show ungrouped syscalls separately (#17343)
Lennart Poettering [Wed, 14 Oct 2020 08:31:59 +0000 (10:31 +0200)] 
analyze: show ungrouped syscalls separately (#17343)

This updates the "systemd-analyze syscall-filter" command to show a
special section of syscalls that are included in @known but in no other
group. Typically this should show syscalls we either should add to any
of the existing groups or where we unsure were they best fit in.

Right now, it mostly shows arch-specific compat syscalls, we probably
should move "@obsolete". This patch doesn't add thta however.

5 years agotypo in systemd.network(5): IPv6PrefixDelegation=dhcpv6
Dmitry Borodaenko [Tue, 13 Oct 2020 21:35:59 +0000 (14:35 -0700)] 
typo in systemd.network(5): IPv6PrefixDelegation=dhcpv6

5 years agounits: update serial-getty@.service to support 57600 baud rate
Bjørn Mork [Tue, 13 Oct 2020 15:07:07 +0000 (17:07 +0200)] 
units: update serial-getty@.service to support 57600 baud rate

Fixes: #17306
5 years agohwdb: update for v247
Zbigniew Jędrzejewski-Szmek [Tue, 13 Oct 2020 07:43:31 +0000 (09:43 +0200)] 
hwdb: update for v247

As usual, it seems that there are mostly additions with a smaller amount
of corrections, no big removals.

5 years agopo: revert some recent translation changes (#17237)
Daniele Medri [Tue, 13 Oct 2020 10:30:20 +0000 (12:30 +0200)] 
po: revert some recent translation changes (#17237)

This partially reverts 7b8c70ed209:
- È richiesto autenticarsi → Autenticazione richiesta
- «${unit}» → '${unit}'

5 years agosysctl: set kernel.core_pipe_limit=16
Lennart Poettering [Mon, 12 Oct 2020 14:31:42 +0000 (16:31 +0200)] 
sysctl: set kernel.core_pipe_limit=16

We need to make sure that our coredump pattern handler manages to read
process metadata from /proc/$PID/ before the kernel reaps the crashed
process. By default the kernel will reap the process as soon as it can.
By setting kernel.core_pipe_limit to a non-zero the kernel will wait for
userspace to finish before reaping.

We'll set the value to 16, which allows 16 crashes to be
processed in parallel. This matches the MaxConnections= setting in
systemd-coredump.socket.

See: #17301

(This doesn't close 17301, since we probably should also gracefully
handle if /proc/$PID/ vanished already while our coredump handler runs,
just in case people loclly set the sysctl back to zero. i.e. we should
collect what we can and rather issue an incomplete log record than
none.)

5 years agobasic/selinux: work around mallinfo deprecation
Zbigniew Jędrzejewski-Szmek [Fri, 9 Oct 2020 14:48:03 +0000 (16:48 +0200)] 
basic/selinux: work around mallinfo deprecation

Latest glibc has deprecated mallinfo(), so it might become unavailable at some point
in the future. There is malloc_info(), but it returns XML, ffs. I think the information
that we get from mallinfo() is quite useful, so let's use mallinfo() if available, and
not otherwise.

5 years agoupdate TODO
Lennart Poettering [Mon, 12 Oct 2020 11:11:55 +0000 (13:11 +0200)] 
update TODO

5 years agoxdg-autostart: Lower most info messages to debug level
Benjamin Berg [Mon, 12 Oct 2020 09:02:26 +0000 (11:02 +0200)] 
xdg-autostart: Lower most info messages to debug level

It is expected for numerous autostart files to not be convertible to
corresponding units. The information is only useful for someone
debugging why a file might not be started, but it is not generally
useful for users in most situations.

As such, lower the warnings. Anyone wondering why an application is not
started will easily notice that the unit is not generated. From there it
will be somewhat harder to figure out why, but the overall trade-off is
still improved.

Fixes: #17305
5 years agoMerge pull request #17302 from keszybz/fix-inhibitors
Lennart Poettering [Mon, 12 Oct 2020 09:41:18 +0000 (11:41 +0200)] 
Merge pull request #17302 from keszybz/fix-inhibitors

Fix inhibitors

5 years agoMerge pull request #17273 from mrc0mmand/coccinelle-check-for-bad-errno
Lennart Poettering [Mon, 12 Oct 2020 09:39:25 +0000 (11:39 +0200)] 
Merge pull request #17273 from mrc0mmand/coccinelle-check-for-bad-errno

coccinelle: resolve our own macros to avoid skipping functions

5 years agohwdb: Add accel orientation quirk for MPMAN Converter 9 2-in-1
Hans de Goede [Tue, 4 Aug 2020 12:54:57 +0000 (14:54 +0200)] 
hwdb: Add accel orientation quirk for MPMAN Converter 9 2-in-1

Add a quirk to fix the accelerometer orientation on the MPMAN
Converter 9 2-in-1.

5 years agoAdd Lenovo USB touchscreens to 60-autosuspend.hwdb
Hans de Goede [Sat, 10 Oct 2020 14:04:30 +0000 (16:04 +0200)] 
Add Lenovo USB touchscreens to 60-autosuspend.hwdb

Add Lenovo USB touchscreens which can safely autosuspend to hwdb,
this helps the processor reach deaper PC# states when idle.

5 years agoMerge pull request #17292 from poettering/idn-dlsym
Zbigniew Jędrzejewski-Szmek [Sat, 10 Oct 2020 14:25:49 +0000 (16:25 +0200)] 
Merge pull request #17292 from poettering/idn-dlsym

turn libidn/libidn2 dep into dlopen() one

5 years agoresolved: don't append RFC6975 data to stub replies
Lennart Poettering [Fri, 9 Oct 2020 14:47:34 +0000 (16:47 +0200)] 
resolved: don't append RFC6975 data to stub replies

We previously checked the QR bit to decide whether the RFC6975 algorithm
data in our packets. But that doesn't work in many cases, since we
initialize the QR flags along with the other flags usually only after
appending OPT (since success to do so propagates into flags). Hence,
let's add an explicit parameter that controls whether to include RFC6975
data in DNS packets, and set it to false for stub reply, and on true for
upstream queries.

Fixes: #17217
5 years agodocs: clarify that udev watches for IN_CLOSE_WRITE (and not IN_CLOSE)
Lennart Poettering [Fri, 9 Oct 2020 14:10:40 +0000 (16:10 +0200)] 
docs: clarify that udev watches for IN_CLOSE_WRITE (and not IN_CLOSE)

Also, while we are at it, explain that udev won't reprobe if users just
release the lock, they have to close the block device too.

5 years agologind: fix taking of inhibitors 17302/head
Zbigniew Jędrzejewski-Szmek [Sat, 10 Oct 2020 07:52:58 +0000 (09:52 +0200)] 
logind: fix taking of inhibitors

Ooops made in 0a9bf7fa593682326f1c5c2d7ec3d29a9d59e5cb.

5 years agologind: print what action is ignored
Zbigniew Jędrzejewski-Szmek [Sat, 10 Oct 2020 07:49:28 +0000 (09:49 +0200)] 
logind: print what action is ignored

My logs have lines like this:
Oct 10 09:38:38 krowka systemd-logind[1889]: External (2) displays connected.
Oct 10 09:38:38 krowka systemd-logind[1889]: Refusing operation, as it is turned off.
Without some hint *what* operation is ignored, this is not very informative.

(I remember this came up before, but I don't remember why we didn't change this
log line back then...)

5 years agoMerge pull request #17211 from poettering/udev-loop-fixes
Lennart Poettering [Fri, 9 Oct 2020 15:16:07 +0000 (17:16 +0200)] 
Merge pull request #17211 from poettering/udev-loop-fixes

two udev fixes, split out of #16859

5 years agoMerge pull request #17286 from benzea/benzea/xdg-autostart-improvements
Lennart Poettering [Fri, 9 Oct 2020 13:56:43 +0000 (15:56 +0200)] 
Merge pull request #17286 from benzea/benzea/xdg-autostart-improvements

XDG autostart improvements

5 years agomissing_syscall: fixup syscall numbers for x32 vs. amd64
mirabilos [Fri, 9 Oct 2020 06:56:57 +0000 (08:56 +0200)] 
missing_syscall: fixup syscall numbers for x32 vs. amd64

5 years agoupdate TODO 17292/head
Lennart Poettering [Fri, 9 Oct 2020 09:52:47 +0000 (11:52 +0200)] 
update TODO

5 years agoshared: make libidn/libdidn2 dependency a dlopen() one
Lennart Poettering [Fri, 9 Oct 2020 09:52:41 +0000 (11:52 +0200)] 
shared: make libidn/libdidn2 dependency a dlopen() one

5 years agotree-wide: drop if braces around single line expressions as well 17273/head
Frantisek Sumsal [Fri, 9 Oct 2020 13:06:34 +0000 (15:06 +0200)] 
tree-wide: drop if braces around single line expressions as well

5 years agotree-wide: assorted coccinelle fixes
Frantisek Sumsal [Fri, 9 Oct 2020 12:59:44 +0000 (14:59 +0200)] 
tree-wide: assorted coccinelle fixes

5 years agococcinelle: introduce drop-braces transformation
Frantisek Sumsal [Fri, 9 Oct 2020 10:45:03 +0000 (12:45 +0200)] 
coccinelle: introduce drop-braces transformation

to drop braces around single-line if statements. Also, prefix it with
zz- so it runs as the last one, so it's able to fix stuff tweaked by
previous transformations.

5 years agococcinelle: check for invalid errno comparisons
Frantisek Sumsal [Wed, 7 Oct 2020 13:26:16 +0000 (15:26 +0200)] 
coccinelle: check for invalid errno comparisons

Prompted by #15868

5 years agococcinelle: correctly resolve our own macros
Frantisek Sumsal [Wed, 7 Oct 2020 13:24:39 +0000 (15:24 +0200)] 
coccinelle: correctly resolve our own macros

Coccinelle can't do this automagically and requires we supply it
respective header files. Unfortunately, the option for this
(--macro-file=) can be used only once, so let's create our own
macro file by collecting macros needed for the semantic parser
to be happy.

5 years agoudev: make sure to install an inotify watch whenever we find a block device locked 17211/head
Lennart Poettering [Thu, 3 Sep 2020 16:27:53 +0000 (18:27 +0200)] 
udev: make sure to install an inotify watch whenever we find a block device locked

This fixes a race where a block device that pops up and immediately is
locked (such as a loopback device in preparation) might result in
udev never run any rules for it, and thus never turn on inotify watching
for it (as inotify watching is controlled via an option set via udev
rules), thus not noticing when the device is unlocked/closed again
(which is noticed via IN_CLOSE_WRITE inotify events).

This changes two things:

1. Whenever we encounter a locked block device we'll now inotify watch
   it, so that it is guaranteed we'll notice when the BSD lock fd is
   closed again, and will reprobe.

2. We'll now turn off inotify watching again once we realise the
   udev rules don't actually want that. Previously, once watching a
   device was enabled via a udev rule, it would be watched forever until
   the device disappeared, even if the option was dropped by the rules
   for later events.

Together this will make sure that we'll watch the device via inotify
in both of the following cases:

a) The block device has been BSD locked when udev wanted to look at it

b) The udev rules run for the last seen event for the device say so

In all other cases inotify is off for block devices.

This new behaviour both fixes the race, but also makes the most sense,
as the rules (when they are run) actually really control the watch state
now. And if someone BSD locks a block device then it should be OK to
inotify watch it briefly until the lock is released again as the user
this way more or less opts into the locking protocol.

5 years agoudev-util: ignore remove events, we care about initialization after all
Lennart Poettering [Tue, 29 Sep 2020 19:03:49 +0000 (21:03 +0200)] 
udev-util: ignore remove events, we care about initialization after all

5 years agoMerge pull request #17289 from keszybz/two-coverity-fixes
Lennart Poettering [Fri, 9 Oct 2020 09:56:15 +0000 (11:56 +0200)] 
Merge pull request #17289 from keszybz/two-coverity-fixes

Two coverity-inspired fixes

5 years agoxdg-autostart: Ignore more common XDG Desktop Entry fields 17286/head
Benjamin Berg [Thu, 8 Oct 2020 13:58:37 +0000 (15:58 +0200)] 
xdg-autostart: Ignore more common XDG Desktop Entry fields

It makes sense to ignore all the common fields that are expected and
that we can safely ignore. Note that it is fine to ignore URL as we will
already warn about the type= being wrong in that case.

Closes: #17276
5 years agoxdg-autostart: Add support for Path= in XDG Desktop File
Benjamin Berg [Thu, 8 Oct 2020 13:58:08 +0000 (15:58 +0200)] 
xdg-autostart: Add support for Path= in XDG Desktop File

This sets the working directory of the application.

5 years agoratelimit: add ratelimit_configured() helper
Lennart Poettering [Thu, 8 Oct 2020 16:40:35 +0000 (18:40 +0200)] 
ratelimit: add ratelimit_configured() helper

This helper alone doesn't make too much sense, but it's preparatory work
for #17274, and I guess it can't hurt to land it early, it does make the
ratelimit code a tiny bit prettier after all.

5 years agosd-event: check return value of syscals directly, avoid redundant variable assignment
Lennart Poettering [Thu, 8 Oct 2020 16:50:36 +0000 (18:50 +0200)] 
sd-event: check return value of syscals directly, avoid redundant variable assignment

And while we are at it, fix one incorrect error propagation.

5 years agonetworkd: add assert to appease coverity 17289/head
Zbigniew Jędrzejewski-Szmek [Fri, 9 Oct 2020 06:14:54 +0000 (08:14 +0200)] 
networkd: add assert to appease coverity

The code was OK, but not obviously so. Let's add an assert to help a
human or nonhuman reader figure it out.

Coverity CID#1433224.

5 years agosystemctl: fix reversed arguments in function call
Zbigniew Jędrzejewski-Szmek [Fri, 9 Oct 2020 06:04:25 +0000 (08:04 +0200)] 
systemctl: fix reversed arguments in function call

This is confusing, but had no effect because the arguments were consistently
switched.

Coverity CID#1433223.

5 years agomissing-syscall: fix copypasta
Lennart Poettering [Thu, 8 Oct 2020 08:27:30 +0000 (10:27 +0200)] 
missing-syscall: fix copypasta

As noticed by @mbiebl:

https://github.com/systemd/systemd/commit/5134e18eedc30bfe5397ed31f94903d984a60cfc#r43033443

5 years agobasic/missing_syscall: fix syscall numbers for mips*
Michael Biebl [Wed, 7 Oct 2020 15:44:05 +0000 (17:44 +0200)] 
basic/missing_syscall: fix syscall numbers for mips*

Thanks Christian Brauner @brauner
Fixes: #17261
5 years agoMerge pull request #17279 from poettering/systemctl-split-up
Lennart Poettering [Thu, 8 Oct 2020 08:17:29 +0000 (10:17 +0200)] 
Merge pull request #17279 from poettering/systemctl-split-up

systemctl: split huge .c file into smaller bits

5 years agoMerge pull request #17271 from yuwata/network-route-improve-multipath-route-support
Yu Watanabe [Thu, 8 Oct 2020 06:55:35 +0000 (15:55 +0900)] 
Merge pull request #17271 from yuwata/network-route-improve-multipath-route-support

network: improve multipath route support

5 years agosystemctl: split up humungous systemctl.c file 17279/head
Lennart Poettering [Wed, 7 Oct 2020 09:27:56 +0000 (11:27 +0200)] 
systemctl: split up humungous systemctl.c file

This is just some refactoring: shifting around of code, not change in
codeflow.

This splits up the way too huge systemctl.c in multiple more easily
digestable files. It roughly follows the rule that each family of verbs
gets its own .c/.h file pair, and so do all the compat executable names
we support. Plus three extra files for sysv compat (which existed before
already, but I renamed slightly, to get the systemctl- prefix lik
everything else), a -util file with generic stuff everything uses, and a
-logind file with everything that talks directly to logind instead of
PID1.

systemctl is still a bit too complex for my taste, but I think this way
itc omes in a more digestable bits at least.

No change of behaviour, just reshuffling of some code.

5 years agosystemctl: move compare_unit_info() to bus-unit-util.[ch]
Lennart Poettering [Wed, 7 Oct 2020 19:56:41 +0000 (21:56 +0200)] 
systemctl: move compare_unit_info() to bus-unit-util.[ch]

It's an auxiliary function to the UnitInfo structures, and very generic.
Let's hence move it over to the other code operating with UnitInfo, even
if it's not used by code outside of systemctl (yet).

5 years agopretty-print: don't abbreviate needlessly in user-facing string
Lennart Poettering [Wed, 7 Oct 2020 14:38:29 +0000 (16:38 +0200)] 
pretty-print: don't abbreviate needlessly in user-facing string

5 years agobasic: include stddef.h since we use NULL in header
Lennart Poettering [Wed, 7 Oct 2020 14:38:07 +0000 (16:38 +0200)] 
basic: include stddef.h since we use NULL in header

5 years agonetwork: introduce IPV4_ADDRESS_FMT_STR macro 17271/head
Yu Watanabe [Wed, 7 Oct 2020 11:42:54 +0000 (13:42 +0200)] 
network: introduce IPV4_ADDRESS_FMT_STR macro

This also moves ADDRESS_FMT_VAL() macro to networkd-address.h, and
renames it to IPV4_ADDRESS_FMT_VAL().

5 years agonetwork: make Gateway= in [Route] section accept an empty string
Yu Watanabe [Wed, 7 Oct 2020 11:39:47 +0000 (13:39 +0200)] 
network: make Gateway= in [Route] section accept an empty string

5 years agonetwork: introduce Gateway=_dhcp4 and _dhcp6, and deprecate "_dhcp"
Yu Watanabe [Wed, 7 Oct 2020 11:34:00 +0000 (13:34 +0200)] 
network: introduce Gateway=_dhcp4 and _dhcp6, and deprecate "_dhcp"

Fixes #17249.

5 years agotest-network: do not fail when multiple ipv6 default gateways are configured
Yu Watanabe [Wed, 7 Oct 2020 11:02:00 +0000 (13:02 +0200)] 
test-network: do not fail when multiple ipv6 default gateways are configured

When multiple ipv6 default gateways are set, kernel seems to merge them
into a multipath route.

5 years agoutil: make local_gateways() support RT_VIA and RT_MULTIPATH
Yu Watanabe [Wed, 7 Oct 2020 10:39:59 +0000 (19:39 +0900)] 
util: make local_gateways() support RT_VIA and RT_MULTIPATH

Then, `networkctl status` correctly shows gateways.

5 years agonetwork: manage multipath routes separately
Yu Watanabe [Wed, 7 Oct 2020 05:25:11 +0000 (14:25 +0900)] 
network: manage multipath routes separately

5 years agosd-netlink: introduce sd_netlink_message_read_data()
Yu Watanabe [Wed, 7 Oct 2020 05:24:08 +0000 (14:24 +0900)] 
sd-netlink: introduce sd_netlink_message_read_data()

5 years agosd-netlink: introduce rtattr_read_nexthop()
Yu Watanabe [Wed, 7 Oct 2020 04:00:45 +0000 (13:00 +0900)] 
sd-netlink: introduce rtattr_read_nexthop()

5 years agonetwork: free Route object when route_remove() fails
Yu Watanabe [Wed, 7 Oct 2020 02:06:27 +0000 (11:06 +0900)] 
network: free Route object when route_remove() fails

When route_remove() succeeds, the Route object will be freed later by
manager_rtnl_process_route().

5 years agonetwork: constify arguments
Yu Watanabe [Wed, 7 Oct 2020 02:01:02 +0000 (11:01 +0900)] 
network: constify arguments

5 years agotest-network: add a test case for IPv4 route with IPv6 gateway
Yu Watanabe [Thu, 13 Aug 2020 16:52:19 +0000 (01:52 +0900)] 
test-network: add a test case for IPv4 route with IPv6 gateway

5 years agounit: don't emit PropertiesChanged signal if adding a dependency to a unit is a no-op
Renaud Métrich [Fri, 2 Oct 2020 15:30:35 +0000 (17:30 +0200)] 
unit: don't emit PropertiesChanged signal if adding a dependency to a unit is a no-op

5 years agonetwork: support IPv4 route with IPv6 gateway
Yu Watanabe [Wed, 7 Oct 2020 01:04:13 +0000 (10:04 +0900)] 
network: support IPv4 route with IPv6 gateway

5 years agosd-netlink: fix type of RTA_VIA
Yu Watanabe [Thu, 13 Aug 2020 16:50:45 +0000 (01:50 +0900)] 
sd-netlink: fix type of RTA_VIA

5 years agonetwork: also manage routes without RTA_OIF attribute
Yu Watanabe [Wed, 7 Oct 2020 00:41:52 +0000 (09:41 +0900)] 
network: also manage routes without RTA_OIF attribute

5 years agonetwork: ignore Scope= for IPv6 routes as it will not be used
Yu Watanabe [Thu, 13 Aug 2020 15:04:00 +0000 (00:04 +0900)] 
network: ignore Scope= for IPv6 routes as it will not be used

5 years agotest-network: drop meaningless Scope= settings in the config
Yu Watanabe [Thu, 13 Aug 2020 10:01:23 +0000 (19:01 +0900)] 
test-network: drop meaningless Scope= settings in the config

5 years agonetwork: set default priority for IPv6 routes
Yu Watanabe [Thu, 13 Aug 2020 09:55:06 +0000 (18:55 +0900)] 
network: set default priority for IPv6 routes

See inet6_rtm_newroute() in kernel's net/ipv6/route.c.

5 years agobasic: import linux/ipv6_route.h
Yu Watanabe [Wed, 7 Oct 2020 13:21:12 +0000 (15:21 +0200)] 
basic: import linux/ipv6_route.h

5 years agomeson: add missing files
Yu Watanabe [Wed, 7 Oct 2020 13:20:37 +0000 (15:20 +0200)] 
meson: add missing files

5 years agosystemctl: drop unsused variable original_stdout_is_tty
Lennart Poettering [Wed, 7 Oct 2020 09:30:32 +0000 (11:30 +0200)] 
systemctl: drop unsused variable original_stdout_is_tty

Unused since de9a8fe18e0168b65ae50b6dde2865f647fc92a2.

5 years agoupdate TODO
Lennart Poettering [Wed, 7 Oct 2020 12:11:46 +0000 (14:11 +0200)] 
update TODO

5 years agoMerge pull request #17231 from poettering/event-source-exit-on-failure
Lennart Poettering [Wed, 7 Oct 2020 10:55:56 +0000 (12:55 +0200)] 
Merge pull request #17231 from poettering/event-source-exit-on-failure

sd-event: add "exit-on-failure" feature for event source

5 years agoDocument some reasonable DNS servers in the example config file
Zbigniew Jędrzejewski-Szmek [Tue, 6 Oct 2020 11:59:25 +0000 (13:59 +0200)] 
Document some reasonable DNS servers in the example config file

We have an option to set the fallback list, so we don't know what the contents
are. It may in fact be empty. Let's add some examples to make it easy for a user
stranded without any DNS to fill in something that would work. As a bonus, this
also gives names to the entries we provide by default.
(I added google and cloudflare because that's what we have currently, and quad9
because it seems to be a good privacy-concious and fast choice and was requested
in #12499. As a minimum, things we should include should be well-known global
services with a documented privacy policy and both IPv4 and IPv6 support and
decent response times.)

5 years agoMerge pull request #17238 from keszybz/man-tmp-noexec
Lennart Poettering [Wed, 7 Oct 2020 07:45:58 +0000 (09:45 +0200)] 
Merge pull request #17238 from keszybz/man-tmp-noexec

Say that noexec should not be used for /tmp

5 years agoudev: make use of NULL callback in IO handlers 17231/head
Lennart Poettering [Fri, 2 Oct 2020 08:00:00 +0000 (10:00 +0200)] 
udev: make use of NULL callback in IO handlers

5 years agosd-event: support callback=NULL in IO/child/inotify/defer event sources, too
Lennart Poettering [Fri, 2 Oct 2020 07:51:36 +0000 (09:51 +0200)] 
sd-event: support callback=NULL in IO/child/inotify/defer event sources, too

Also, document this functionality more prominently, including with a
reference from sd_event_exit().

This is mostly to make things complete, as previously we supported NULL
callbacks only in _add_time() and _add_signal(). However, I think this
makes snese for IO event sources too (think: when some fd such as a pipe
end sees SIGHUP or so, exit), as well as defer or post event sources (i.e. exit
once we got nothing else to do). This also adds support for inotify
event sources, simply to complete things (I can't see the immediate use,
but maybe someone else comes up with it).

The only event source type that doesn't allow callback=NULL now are exit
callbacks, but for them they make little sense, as the event loop is
exiting then anyway.

5 years agoudev-util: make use of sd-event's NULL callback support
Lennart Poettering [Fri, 2 Oct 2020 07:13:37 +0000 (09:13 +0200)] 
udev-util: make use of sd-event's NULL callback support

5 years agotest: add test that validates that PTR_TO_INT(INT_TO_PTR()) covers whole int range
Lennart Poettering [Fri, 2 Oct 2020 07:13:17 +0000 (09:13 +0200)] 
test: add test that validates that PTR_TO_INT(INT_TO_PTR()) covers whole int range

5 years agosocket-proxy: port to new sd_event_source_set_exit_on_failure() API
Lennart Poettering [Thu, 1 Oct 2020 20:21:05 +0000 (22:21 +0200)] 
socket-proxy: port to new sd_event_source_set_exit_on_failure() API

5 years agosocket-proxy: close correct fd, log at right log level
Lennart Poettering [Thu, 1 Oct 2020 20:20:42 +0000 (22:20 +0200)] 
socket-proxy: close correct fd, log at right log level

5 years agoman: add docs for sd_event_source_set_exit_on_failure()
Lennart Poettering [Fri, 2 Oct 2020 08:14:44 +0000 (10:14 +0200)] 
man: add docs for sd_event_source_set_exit_on_failure()

5 years agosd-event: optionally, if an event source fails, exit the event loop
Lennart Poettering [Thu, 1 Oct 2020 20:17:31 +0000 (22:17 +0200)] 
sd-event: optionally, if an event source fails, exit the event loop

Currently, if an event source callback returns an error, we'll disable
the event source and continue. This adds a per-event source flag that if
turned on goes further: the event loop is also exited, propagating the
error code.

This is inspired by some patterns repeatedly seen in #15206.

The idea is that event sources that server the "primary" function of a
program are marked like this, so that if they fail the failure is
instantly propagated and terminates the program.

5 years agoMerge pull request #17240 from yuwata/network-cleanup
Yu Watanabe [Tue, 6 Oct 2020 22:42:40 +0000 (07:42 +0900)] 
Merge pull request #17240 from yuwata/network-cleanup

network: several cleanups and fix IPv4DAD and IP Masqurade

5 years agoboot/efi: Explicitly specify void in parameter list
Marco Wang [Tue, 6 Oct 2020 17:07:55 +0000 (01:07 +0800)] 
boot/efi: Explicitly specify void in parameter list

Functions that accept no arguments should be
explicitly declared a void parameter in their parameter list.

Signed-off-by: Marco Wang <m.aesophor@gmail.com>
5 years agotest-network: also remove IPv6 rules 17240/head
Yu Watanabe [Mon, 5 Oct 2020 20:25:01 +0000 (22:25 +0200)] 
test-network: also remove IPv6 rules

5 years agotest-network: add a missing netdev in the list
Yu Watanabe [Mon, 5 Oct 2020 19:53:35 +0000 (21:53 +0200)] 
test-network: add a missing netdev in the list

5 years agotest-network: disable RA in test_sriov
Yu Watanabe [Mon, 5 Oct 2020 19:51:29 +0000 (21:51 +0200)] 
test-network: disable RA in test_sriov

We usually disable IPv6AcceptRA= if the test does not require any
dynamic address configuration, as it makes slightly slow down the test.

C.f. 491b79aeac323909e8cef60ba6e91e27fd731679.

5 years agotest-network: add missing file in the list
Yu Watanabe [Mon, 5 Oct 2020 19:47:44 +0000 (21:47 +0200)] 
test-network: add missing file in the list

5 years agotest-network: drop duplicated address
Yu Watanabe [Sun, 4 Oct 2020 10:54:56 +0000 (19:54 +0900)] 
test-network: drop duplicated address

5 years agonetwork: rename network_verify_xxx() -> network_drop_invalid_xxx()
Yu Watanabe [Tue, 6 Oct 2020 18:21:59 +0000 (03:21 +0900)] 
network: rename network_verify_xxx() -> network_drop_invalid_xxx()

As 'verify' implies a boolean result.

5 years agonetwork: fix masquerade setting logic
Yu Watanabe [Sun, 4 Oct 2020 02:06:23 +0000 (11:06 +0900)] 
network: fix masquerade setting logic

Previously, address_establish() took Address object stored in Network
object. And address_release() took Address object stored in Link
object. Thus, address_release() always did nothing.

5 years agonetwork: always use RT_SCOPE_HOST for IPv4 loopback addresses
Yu Watanabe [Sun, 4 Oct 2020 01:57:03 +0000 (10:57 +0900)] 
network: always use RT_SCOPE_HOST for IPv4 loopback addresses

For IPv6 case, use RT_SCOPE_HOST only when scope is not explicitly specified.

5 years agonetwork: update MAC address in IPv4 ACD clients
Yu Watanabe [Sun, 4 Oct 2020 00:27:42 +0000 (09:27 +0900)] 
network: update MAC address in IPv4 ACD clients

When the MAC address of a link is updated, an address on the link may
be under checking address duplication. Or, (currently such code is not
implemented yet, but) address duplication check may be restarted later.
For that case, the IPv4 ACD clients must use the new updated MAC address.

5 years agonetwork: configure IPv4 DAD per link address
Yu Watanabe [Sun, 4 Oct 2020 00:14:15 +0000 (09:14 +0900)] 
network: configure IPv4 DAD per link address

Previously, IPv4 DAD is configured in each Address object stored in
Network object. If a .network file matches multipe links, then it causes
an assertion. To prevent it, now IPv4 DAD is configured in each Address
object belogs to Link object.

5 years agonetwork: constify one argument
Yu Watanabe [Tue, 6 Oct 2020 17:57:54 +0000 (02:57 +0900)] 
network: constify one argument

5 years agonetwork: introduce address_copy()
Yu Watanabe [Sat, 3 Oct 2020 23:47:42 +0000 (08:47 +0900)] 
network: introduce address_copy()

5 years agonetwork: do not update Address::flags in address_configure()
Yu Watanabe [Sat, 3 Oct 2020 23:27:14 +0000 (08:27 +0900)] 
network: do not update Address::flags in address_configure()

5 years agonetwork: fix indentation
Yu Watanabe [Sat, 3 Oct 2020 23:14:27 +0000 (08:14 +0900)] 
network: fix indentation