]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agonetwork: drop "return 1" when the return value is ignored by all callers 12407/head
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2019 08:41:59 +0000 (10:41 +0200)] 
network: drop "return 1" when the return value is ignored by all callers

The reader is tricked into thinking that this has some meaning...

5 years agocore: adjust unit_get_ancestor_memory_{low,min}() to work with units which don't...
Zbigniew Jędrzejewski-Szmek [Wed, 24 Apr 2019 08:54:44 +0000 (10:54 +0200)] 
core: adjust unit_get_ancestor_memory_{low,min}() to work with units which don't have a CGroupContext

Coverity doesn't like the fact that unit_get_cgroup_context() returns NULL for
unit types that don't have a CGroupContext. We don't expect to call those
functions with such unit types, so this isn't an immediate problem, but we can
make things more robust by handling this case.

CID #1400683, #1400684.

5 years agoMerge pull request #12332 from cdown/default_min
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2019 09:06:45 +0000 (11:06 +0200)] 
Merge pull request #12332 from cdown/default_min

cgroup: Add support for propagation of memory.min

5 years agohwdb: add axis range corrections for the Dell Latitude e7250
Dave Ross [Sat, 20 Apr 2019 20:27:22 +0000 (16:27 -0400)] 
hwdb: add axis range corrections for the Dell Latitude e7250

Based on touchpad-edge-detector and dimensions confirmed with the owner's manual (https://content.etilize.com/User-Manual/1037738079.pdf)

5 years agoMerge pull request #12382 from yuwata/wireguard-12377
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2019 08:55:53 +0000 (10:55 +0200)] 
Merge pull request #12382 from yuwata/wireguard-12377

network: fix ListenPort= in [WireGuard] section

5 years agoMerge pull request #12316 from yuwata/network-prevent-multiple-initialization-12315
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2019 08:54:28 +0000 (10:54 +0200)] 
Merge pull request #12316 from yuwata/network-prevent-multiple-initialization-12315

network: prevent interfaces to be initialized multiple times

5 years agonetwork: fix ref/unref logic for Link object 12316/head
Yu Watanabe [Mon, 15 Apr 2019 07:38:45 +0000 (16:38 +0900)] 
network: fix ref/unref logic for Link object

- bridge or bonding master takes a reference of slave links.
- drop link from bridge or bonding master's slave list when slave link
  is removed.
- change type of Link::slaves to Set*,

Fixes #12315.

5 years agonetwork: prevent interfaces to be initialized multiple times
Yu Watanabe [Mon, 15 Apr 2019 08:34:00 +0000 (17:34 +0900)] 
network: prevent interfaces to be initialized multiple times

When a uevent is received during the relevant interface is in
LINK_STATE_PENDING, then the interface may be initialized twice.
To prevent that, this introduces LINK_STATE_INITIALIZED.

5 years agoudev,network: warn when .link or .network file has no [Match] section
Yu Watanabe [Sat, 20 Apr 2019 12:40:24 +0000 (14:40 +0200)] 
udev,network: warn when .link or .network file has no [Match] section

Closes #12098.

5 years agonetwork: fix ListenPort= in [WireGuard] section 12382/head
Yu Watanabe [Wed, 24 Apr 2019 22:39:04 +0000 (00:39 +0200)] 
network: fix ListenPort= in [WireGuard] section

This fixes a bug introduced by f1368a333e5e08575f0b45dfe41e936b106a8627.

Fixes #12377.

5 years agotest-network: fix invalid assertions
Yu Watanabe [Wed, 24 Apr 2019 22:29:20 +0000 (00:29 +0200)] 
test-network: fix invalid assertions

5 years agoMerge pull request #12376 from mrc0mmand/deal-with-backslashes-in-completion
Zbigniew Jędrzejewski-Szmek [Wed, 24 Apr 2019 17:45:47 +0000 (19:45 +0200)] 
Merge pull request #12376 from mrc0mmand/deal-with-backslashes-in-completion

bash-completion: properly autocomplete escaped unit names

5 years agobash-completion: unify indentation 12376/head
Frantisek Sumsal [Wed, 24 Apr 2019 16:03:30 +0000 (18:03 +0200)] 
bash-completion: unify indentation

5 years agobash-completion: properly autocomplete escaped unit names
Frantisek Sumsal [Wed, 24 Apr 2019 12:22:44 +0000 (14:22 +0200)] 
bash-completion: properly autocomplete escaped unit names

5 years agoNEWS: List getty@tty1.service as not being enabled anymore
Paul Menzel [Tue, 23 Apr 2019 15:11:51 +0000 (17:11 +0200)] 
NEWS: List getty@tty1.service as not being enabled anymore

Fixes: https://github.com/systemd/systemd/issues/12345
5 years agoMerge pull request #12351 from keszybz/sd-bus-add-symbol
Lennart Poettering [Wed, 24 Apr 2019 08:23:10 +0000 (10:23 +0200)] 
Merge pull request #12351 from keszybz/sd-bus-add-symbol

Add symbol to tell the linker that new libsystemd version is needed

5 years agoman: describe interaction with ProtectHome=/InaccessiblePaths= in BindMount=
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 08:28:38 +0000 (10:28 +0200)] 
man: describe interaction with ProtectHome=/InaccessiblePaths= in BindMount=

https://github.com/systemd/systemd/issues/7153#issuecomment-485252308

Apparently this is still confusing for people.

Longer-term, I think we should just make BindMount= automatically "upgrade"
(or "downgrade", depending on how you look at this), any InaccessiblePath=
mountpoints to "tmpfs". I don't see much point in forcing users to remember
this interaction. But let's at least document the status quo, we can always
update the docs if the code changes.

5 years agocore: immediately trigger watchdog action on WATCHDOG=trigger
Jan Klötzke [Wed, 7 Mar 2018 13:16:49 +0000 (14:16 +0100)] 
core: immediately trigger watchdog action on WATCHDOG=trigger

A service might be able to detect errors by itself that may require the
system to take the same action as if the service locked up. Add a
WATCHDOG=trigger state change notification to sd_notify() to let the
service manager know about the self-detected misery and instantly
trigger the configured watchdog behaviour.

5 years agoMerge pull request #12366 from lkundrak/lr/olpc-xo-175-keyboard
Lennart Poettering [Wed, 24 Apr 2019 08:15:54 +0000 (10:15 +0200)] 
Merge pull request #12366 from lkundrak/lr/olpc-xo-175-keyboard

Add support for OLPC XO-1.75 keyboard

5 years agoMerge pull request #12367 from keszybz/accept-check
Lennart Poettering [Wed, 24 Apr 2019 08:14:51 +0000 (10:14 +0200)] 
Merge pull request #12367 from keszybz/accept-check

Put a limit on the loop to flush connections

5 years agosemaphore: merge semaphore scripts to avoid code duplication (#12365)
Frantisek Sumsal [Wed, 24 Apr 2019 05:52:49 +0000 (07:52 +0200)] 
semaphore: merge semaphore scripts to avoid code duplication (#12365)

5 years agomeson: do not use f-strings 12351/head
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 12:09:18 +0000 (14:09 +0200)] 
meson: do not use f-strings

Our travis CI still uses python3.5. I'm making this into a separate
commit to make it easy to revert later.

5 years agoman: document sd_bus_add_{object,fallback}_vtable
Zbigniew Jędrzejewski-Szmek [Sun, 21 Apr 2019 20:39:30 +0000 (22:39 +0200)] 
man: document sd_bus_add_{object,fallback}_vtable

The interface provided by those two functions is huge, so this text could
probably be made two or three times as long if all details were described.
But I think it's a good start.

5 years agosd-bus: when running user find function don't trust the value to be initialized
Zbigniew Jędrzejewski-Szmek [Sun, 21 Apr 2019 20:25:03 +0000 (22:25 +0200)] 
sd-bus: when running user find function don't trust the value to be initialized

The find function is externally provided, and we shouldn't trust that the
authors remember to set the output parameter in all cases.

5 years agobusctl: add introspect --xml-interface
Zbigniew Jędrzejewski-Szmek [Sun, 21 Apr 2019 20:23:45 +0000 (22:23 +0200)] 
busctl: add introspect --xml-interface

This wraps the call to org.freedesktop.DBus.Introspectable.Introspect.
Using "busctl call" directly is inconvenient because busctl escapes the
string before printing.

Example:
$ busctl introspect --xml org.freedesktop.systemd1 /org/freedesktop/systemd1 | pygmentize -lxml | less -RF

5 years agotest-bus-{vtable,introspect}: share data and test introspect_path()
Zbigniew Jędrzejewski-Szmek [Fri, 19 Apr 2019 11:30:09 +0000 (13:30 +0200)] 
test-bus-{vtable,introspect}: share data and test introspect_path()

test-bus-introspect is also applied to the tables from test-bus-vtable.c.

test-bus-vtable.c is also used as C++ sources to produce test-bus-vtable-cc,
and our hashmap headers are not C++ compatible. So let's do the introspection
part only in the C version.

5 years agoMerge pull request #12320 from mrc0mmand/tweak-start-timeout-in-TEST-16-EXTEND-TIMEOUT
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 13:48:47 +0000 (15:48 +0200)] 
Merge pull request #12320 from mrc0mmand/tweak-start-timeout-in-TEST-16-EXTEND-TIMEOUT

test: don't timeout while waiting for other test units

5 years agobasic/socket-util: put a limit on the loop to flush connections 12367/head
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 13:24:56 +0000 (15:24 +0200)] 
basic/socket-util: put a limit on the loop to flush connections

Follow-up for #12346.

5 years agohwdb: Fix the key codes of the OLPC XO button pad 12366/head
Lubomir Rintel [Tue, 23 Apr 2019 13:09:17 +0000 (15:09 +0200)] 
hwdb: Fix the key codes of the OLPC XO button pad

These are not on a key pad. These codes are sent by the "rocker" buttons
that resemble a game pad.

5 years agohwdb: Fix the OLPC XO rotate key
Lubomir Rintel [Tue, 23 Apr 2019 13:09:04 +0000 (15:09 +0200)] 
hwdb: Fix the OLPC XO rotate key

The comment is incorrect -- this key code is sent by the rotate button,
the brightness keys are separate.

5 years agohwdb: No LEDs on the OLPC XO keyboard
Lubomir Rintel [Tue, 23 Apr 2019 13:08:53 +0000 (15:08 +0200)] 
hwdb: No LEDs on the OLPC XO keyboard

5 years agohwdb: Make the OLPC XO rules also match XO-1.75
Lubomir Rintel [Tue, 23 Apr 2019 13:05:28 +0000 (15:05 +0200)] 
hwdb: Make the OLPC XO rules also match XO-1.75

Uses the same keyboard, attached to the "Security Processor" P1J core
that bit-bangs the PS/2 keyboard protocol.

5 years agobasic/socket-util: fix typo and reword comment
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 13:11:08 +0000 (15:11 +0200)] 
basic/socket-util: fix typo and reword comment

Comment bike-shedding might be the ultimate form of procrastination, but
I can't stop myself. :)

5 years agoMerge pull request #12346 from poettering/accept-flush
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2019 13:03:29 +0000 (15:03 +0200)] 
Merge pull request #12346 from poettering/accept-flush

socket-util: make sure accept_flush() doesn't hang on EOPNOTSUPP

5 years agocatalog: update Polish translation
Piotr Drąg [Sat, 20 Apr 2019 16:30:20 +0000 (18:30 +0200)] 
catalog: update Polish translation

5 years agoudev: net_id: introduce predictable names for netdevsim
Jiri Pirko [Mon, 15 Apr 2019 18:34:44 +0000 (20:34 +0200)] 
udev: net_id: introduce predictable names for netdevsim

In order to properly and predictably name netdevsim netdevices,
introduce a separate implementation, as the netdevices reside on a
specific netdevsim bus. Note that this applies only to netdevsim devices
created using sysfs, because those expose phys_port_name attribute.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
5 years agoudev-rules: add udmabuf to kvm group
Marc-André Lureau [Thu, 18 Apr 2019 14:30:41 +0000 (16:30 +0200)] 
udev-rules: add udmabuf to kvm group

It will have the default 0660 mode.

Fixes: #12283
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
5 years agosd-bus: split introspection into the content creation and reply creation parts
Zbigniew Jędrzejewski-Szmek [Fri, 19 Apr 2019 10:14:35 +0000 (12:14 +0200)] 
sd-bus: split introspection into the content creation and reply creation parts

Just moving code around, in preparation to allow the content creation
part to be used in other places.

On the surface of things, introspect_path() should be in bus-introspect.c, but
introspect_path() uses many static helper functions in bus-objects.c, so moving
it would require all of them to be exposed, which is too much trouble.

test-bus-introspect is updated to actually write the closing bracket.

5 years agosd-bus: use _cleanup_ for struct introspect
Zbigniew Jędrzejewski-Szmek [Fri, 19 Apr 2019 09:28:36 +0000 (11:28 +0200)] 
sd-bus: use _cleanup_ for struct introspect

5 years agosd-bus: allow vtable format structure to grow in the future
Zbigniew Jędrzejewski-Szmek [Thu, 18 Apr 2019 11:42:25 +0000 (13:42 +0200)] 
sd-bus: allow vtable format structure to grow in the future

We would check the size of sd_bus_vtable entries, requring one of the two known
sizes. But we should be able to extend the structure in the future, by adding
new fields, without breaking backwards compatiblity.

Incidentally, this check was what caused -EINVAL failures before, when programs
were compiled with systemd-242 and run with older libsystemd.

5 years agosd-bus: add symbol to tell linker that new vtable functions are used
Zbigniew Jędrzejewski-Szmek [Thu, 18 Apr 2019 11:06:41 +0000 (13:06 +0200)] 
sd-bus: add symbol to tell linker that new vtable functions are used

In 856ad2a86bd9b3e264a090fcf4b0d05bfaa91030 sd_bus_add_object_vtable() and
sd_bus_add_fallback_vtable() were changed to take an updated sd_bus_vtable[]
array with additional 'features' and 'names' fields in the union.

The commit tried to check whether the old or the new table format is used, by
looking at the vtable[0].x.start.element_size field, on the assumption that the
added fields caused the structure size to grow. Unfortunately, this assumption
was false, and on arm32 (at least), the structure size is unchanged.

In libsystemd we use symbol versioning and a major.minor.patch semantic
versioning of the library name (major equals the number in the so-name).  When
systemd-242 was released, the minor number was (correctly) bumped, but this is
not enough, because no new symbols were added or symbol versions changed. This
means that programs compiled with the new systemd headers and library could be
successfully linked to older versions of the library. For example rpm only
looks at the so-name and the list of versioned symbols, completely ignoring the
major.minor numbers in the library name. But the older library does not
understand the new vtable format, and would return -EINVAL after failing the
size check (on those architectures where the structure size did change, i.e.
all 64 bit architectures).

To force new libsystemd (with the functions that take the updated
sd_bus_vtable[] format) to be used, let's pull in a dummy symbol from the table
definition. This is a bit wasteful, because a dummy pointer has to be stored,
but the effect is negligible. In particular, the pointer doesn't even change
the size of the structure because if fits in an unused area in the union.

The number stored in the new unsigned integer is not checked anywhere. If the
symbol exists, we already know we have the new version of the library, so an
additional check would not tell us anything.

An alternative would be to make sd_bus_add_{object,fallback}_vtable() versioned
symbols, using .symver linker annotations. We would provide
sd_bus_add_{object,fallback}_vtable@LIBSYSTEMD_221 (for backwards
compatibility) and e.g. sd_bus_add_{object,fallback}_vtable@@LIBSYSTEMD_242
(the default) with the new implementation. This would work too, but is more
work. We would have to version at least those two functions. And it turns out
that the .symver linker instructions have to located in the same compilation
unit as the function being annotated. We first compile libsystemd.a, and then
link it into libsystemd.so and various other targets, including
libsystemd-shared.so, and the nss modules. If the .symver annotations were
placed next to the function definitions (in bus-object.c), they would influence
all targets that link libsystemd.a, and cause problems, because those functions
should not be exported there. To export them only in libsystemd.so, compilation
would have to be rearranged, so that the functions exported in libsystemd.so
would not be present in libsystemd.a, but a separate compilation unit containg
them and the .symver annotations would be linked solely into libsystemd.so.
This is certainly possible, but more work than the approach in this patch.

856ad2a86bd9b3e264a090fcf4b0d05bfaa91030 has one more issue: it relies on the
undefined fields in sd_bus_vtable[] array to be zeros. But the structure
contains a union, and fields of the union do not have to be zero-initalized by
the compiler. This means that potentially, we could have garbarge values there,
for example when reading the old vtable format definition from the new function
implementation. In practice this should not be an issue at all, because vtable
definitions are static data and are placed in the ro-data section, which is
fully initalized, so we know that those undefined areas will be zero. Things
would be different if somebody defined the vtable array on the heap or on the
stack. Let's just document that they should zero-intialize the unused areas
in this case.

The symbol checking code had to be updated because otherwise gcc warns about a
cast from unsigned to a pointer.

5 years agoMerge pull request #12336 from anitazha/disablecontroller
Chris Down [Tue, 23 Apr 2019 08:42:37 +0000 (10:42 +0200)] 
Merge pull request #12336 from anitazha/disablecontroller

core: support DisableControllers= for transient units

5 years agocore: support DisableControllers= for transient units 12336/head
Anita Zhang [Wed, 17 Apr 2019 07:42:55 +0000 (00:42 -0700)] 
core: support DisableControllers= for transient units

5 years agoudev: whitespace fix 12346/head
Lennart Poettering [Thu, 18 Apr 2019 13:17:29 +0000 (15:17 +0200)] 
udev: whitespace fix

5 years agotest: add test for flush_accept()
Lennart Poettering [Thu, 18 Apr 2019 13:16:18 +0000 (15:16 +0200)] 
test: add test for flush_accept()

Fixes: #12335
5 years agosocket-util: make sure flush_accept() doesn't hang on unexpected EOPNOTSUPP
Lennart Poettering [Thu, 18 Apr 2019 13:13:54 +0000 (15:13 +0200)] 
socket-util: make sure flush_accept() doesn't hang on unexpected EOPNOTSUPP

So apparently there are two reasons why accept() can return EOPNOTSUPP:
because the socket is not a listening stream socket (or similar), or
because the incoming TCP connection for some reason wasn't acceptable to
the host. THe latter should be a transient error, as suggested on
accept(2). The former however should be considered fatal for
flush_accept(). Let's fix this by explicitly checking whether the socket
is a listening socket beforehand.

5 years agonetwork: logs link state change
Yu Watanabe [Mon, 15 Apr 2019 11:56:01 +0000 (20:56 +0900)] 
network: logs link state change

5 years agobootspec: fix build when EFI support is disabled
Yu Watanabe [Sat, 13 Apr 2019 17:58:10 +0000 (02:58 +0900)] 
bootspec: fix build when EFI support is disabled

Follow-up for ce4c4f810876b2d6e50041c8bbe089e8a9e2576e.

5 years agounit: Add DefaultMemoryMin 12332/head
Chris Down [Tue, 16 Apr 2019 17:44:05 +0000 (18:44 +0100)] 
unit: Add DefaultMemoryMin

5 years agocgroup: Create UNIT_DEFINE_ANCESTOR_MEMORY_LOOKUP
Chris Down [Tue, 16 Apr 2019 17:14:09 +0000 (18:14 +0100)] 
cgroup: Create UNIT_DEFINE_ANCESTOR_MEMORY_LOOKUP

This is in preparation for creating unit_get_ancestor_memory_min.

5 years agolinux: import if_ether.h from kernel-5.0
Yu Watanabe [Mon, 15 Apr 2019 16:57:23 +0000 (01:57 +0900)] 
linux: import if_ether.h from kernel-5.0

kernel-4.15's if_ether.h has a bug that the header does not provide
'struct ethhdr'. The bug is introduced by
6926e041a8920c8ec27e4e155efa760aa01551fd (4.15-rc8)
and fixed by da360299b6734135a5f66d7db458dcc7801c826a (4.16-rc3).

This makes systemd built with kernel-4.15 headers.

Fixes #12319.

5 years agohwdb: Add Medion Akoya E3216 MD60900 (#12323)
David Art [Tue, 16 Apr 2019 08:23:28 +0000 (10:23 +0200)] 
hwdb: Add Medion Akoya E3216 MD60900 (#12323)

Fixes: #12312
5 years agotest: don't timeout while waiting for other test units 12320/head
Frantisek Sumsal [Mon, 15 Apr 2019 11:59:27 +0000 (13:59 +0200)] 
test: don't timeout while waiting for other test units

The main testsuite service timeouts sporadically when waiting for
other testsuite-* units. As the test timeout is handled by
the "test executor" (test.sh), let's disable it for the service.

This should (hopefully) fix the test flakiness.

5 years agoMerge pull request #12305 from yuwata/import-more-headers-from-kernel-5-0
Lennart Poettering [Mon, 15 Apr 2019 09:33:06 +0000 (11:33 +0200)] 
Merge pull request #12305 from yuwata/import-more-headers-from-kernel-5-0

linux: import more headers from kernel-5.0

5 years agoMerge pull request #12301 from keszybz/silence-alignment-warning
Lennart Poettering [Mon, 15 Apr 2019 09:21:15 +0000 (11:21 +0200)] 
Merge pull request #12301 from keszybz/silence-alignment-warning

Silence alignment warning

5 years agoMerge pull request #12311 from yuwata/timeout_abort_set-change-bool
Lennart Poettering [Mon, 15 Apr 2019 09:14:18 +0000 (11:14 +0200)] 
Merge pull request #12311 from yuwata/timeout_abort_set-change-bool

core: several follow-ups for timeout PR #11211

5 years agoCheck for final assignments in RUN keys (#12309)
Florian Dollinger [Mon, 15 Apr 2019 06:59:36 +0000 (08:59 +0200)] 
Check for final assignments in RUN keys (#12309)

As described in #12291

5 years agobasic/fileio: Fix memory leak if READ_FULL_FILE_SECURE flag is used
Benjamin Robin [Sun, 14 Apr 2019 15:21:27 +0000 (17:21 +0200)] 
basic/fileio: Fix memory leak if READ_FULL_FILE_SECURE flag is used

The memory leak introduced in #12223 (15f8f02)

5 years agoDocument (final) assignment on the RUN (#12310)
Florian Dollinger [Sun, 14 Apr 2019 12:26:39 +0000 (14:26 +0200)] 
Document (final) assignment on the RUN (#12310)

As described in #12291, final assignments and assignments are clearing both command types.

5 years agocore: do not show TimeoutStopSec= in dump message if it is not set 12311/head
Yu Watanabe [Sun, 14 Apr 2019 11:47:13 +0000 (20:47 +0900)] 
core: do not show TimeoutStopSec= in dump message if it is not set

5 years agocore: add assertion in two inline functions
Yu Watanabe [Sun, 14 Apr 2019 11:46:24 +0000 (20:46 +0900)] 
core: add assertion in two inline functions

5 years agocore: use BUS_DEFINE_PROPERTY_GET() macro at more places
Yu Watanabe [Sun, 14 Apr 2019 11:45:31 +0000 (20:45 +0900)] 
core: use BUS_DEFINE_PROPERTY_GET() macro at more places

5 years agocore: change type of Service::timeout_abort_set to bool
Yu Watanabe [Sun, 14 Apr 2019 11:13:40 +0000 (20:13 +0900)] 
core: change type of Service::timeout_abort_set to bool

Follow-up for dc653bf487bae9d1ddf794442bf4176fee173b41 (#11211).

5 years agolinux: also import l2tp.h from kernel-5.0 12305/head
Yu Watanabe [Sat, 13 Apr 2019 09:35:15 +0000 (18:35 +0900)] 
linux: also import l2tp.h from kernel-5.0

The L2TP_ATTR_UDP_ZERO_CSUM6_{TX,RX} attributes are introduced by
6b649feafe10b293f4bd5a74aca95faf625ae525, which is included in
kernel-3.16. To support older kernel, let's import the header.

Fixes #12300.

5 years agolinux: also import linux/in.h and in6.h from kernel-5.0
Yu Watanabe [Sat, 13 Apr 2019 09:46:40 +0000 (18:46 +0900)] 
linux: also import linux/in.h and in6.h from kernel-5.0

Now linux/in.h has better conflict detection with glibc's
netinet/in.h. So, let's import the headers.

Note that our code already have many workarounds for the conflict,
but in this commit does not drop them. Let's do that in the later
commits if this really helps.

5 years agolinux: move netdevice.h from shared/linux to basic/linux
Yu Watanabe [Sat, 13 Apr 2019 09:33:34 +0000 (18:33 +0900)] 
linux: move netdevice.h from shared/linux to basic/linux

As the header linux/if_arp.h includes linux/netdevice.h.

5 years agoMerge pull request #12288 from yuwata/resolve-bond-rafactoring
Yu Watanabe [Sat, 13 Apr 2019 13:43:21 +0000 (22:43 +0900)] 
Merge pull request #12288 from yuwata/resolve-bond-rafactoring

resolve,network: tiny cleanups

5 years agotmpfiles: split tmp.conf out
Franck Bui [Fri, 12 Apr 2019 12:45:53 +0000 (14:45 +0200)] 
tmpfiles: split tmp.conf out

tmp.conf was dealing with 2 different kind of paths: one dealing with general
temporary paths such as /var/tmp and /tmp and the other one dealing with
temporary directories owned by systemd.

If for example a user wants to adjust the age argument of the general paths
only, he had to overload the whole file which is cumbersome and error prone
since any future changes in tmp.conf shipped by systemd will be lost.

So this patch splits out tmp.conf so the systemd directories are dealt
separately in a dedicated conf file. It's named "systemd-tmp.conf" based on the
naming recommendation made in tmpfiles.d man page.

In practice it shouldn't cause any regression since it's very unlikely that
users override paths owned by systemd.

5 years agonspawn: Fix volatile SELinux label
Dominick Grift [Fri, 12 Apr 2019 18:15:35 +0000 (20:15 +0200)] 
nspawn: Fix volatile SELinux label

nspawn should associate the specified nspawn container apifs object label instead of the nspawn container process label with the volatile tmpfs

5 years agosd-netlink: align table 12301/head
Zbigniew Jędrzejewski-Szmek [Sat, 13 Apr 2019 09:57:42 +0000 (11:57 +0200)] 
sd-netlink: align table

5 years agonetwork: avoid warning about unaligned pointers
Zbigniew Jędrzejewski-Szmek [Sat, 13 Apr 2019 09:47:47 +0000 (11:47 +0200)] 
network: avoid warning about unaligned pointers

With gcc-9.0.1-0.10.fc30.x86_64:
../src/network/netdev/macsec.c: In function ‘config_parse_macsec_port’:
../src/network/netdev/macsec.c:584:24: warning: taking address of packed member of ‘struct <anonymous>’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |                 dest = &c->sci.port;
      |                        ^~~~~~~~~~~~
../src/network/netdev/macsec.c:592:24: warning: taking address of packed member of ‘struct <anonymous>’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  592 |                 dest = &b->sci.port;
      |                        ^~~~~~~~~~~~

(The alignment was probably OK, but it's nicer to avoid the warning anyway.)

5 years agoMerge pull request #12296 from poettering/coding-style-sections
Yu Watanabe [Sat, 13 Apr 2019 09:23:13 +0000 (18:23 +0900)] 
Merge pull request #12296 from poettering/coding-style-sections

split CODING_STYLE document into multiple thematic sections

5 years agoMerge pull request #12290 from poettering/json-foreach-love
Yu Watanabe [Sat, 13 Apr 2019 09:19:38 +0000 (18:19 +0900)] 
Merge pull request #12290 from poettering/json-foreach-love

some small JSON foreach macro love

5 years agoMerge pull request #12293 from poettering/tiny-journal-modernizations
Yu Watanabe [Sat, 13 Apr 2019 09:19:15 +0000 (18:19 +0900)] 
Merge pull request #12293 from poettering/tiny-journal-modernizations

four simple journal modernizations

5 years agonetwork: re-indent conf parser and wrap long lines in bond.c 12288/head
Yu Watanabe [Fri, 12 Apr 2019 05:15:29 +0000 (14:15 +0900)] 
network: re-indent conf parser and wrap long lines in bond.c

5 years agonetwork: use OrderedSet for bond ARP ip targets
Yu Watanabe [Fri, 12 Apr 2019 05:14:19 +0000 (14:14 +0900)] 
network: use OrderedSet for bond ARP ip targets

5 years agoordered-set: add missing ordered_set_size()
Yu Watanabe [Fri, 12 Apr 2019 05:13:17 +0000 (14:13 +0900)] 
ordered-set: add missing ordered_set_size()

5 years agonetwork: drop allocation for Bond::ad_actor_system
Yu Watanabe [Fri, 12 Apr 2019 04:37:02 +0000 (13:37 +0900)] 
network: drop allocation for Bond::ad_actor_system

5 years agonetwork: drop bond_mode_to_kernel() and bond_xmit_hash_policy_to_kernel()
Yu Watanabe [Fri, 12 Apr 2019 04:29:46 +0000 (13:29 +0900)] 
network: drop bond_mode_to_kernel() and bond_xmit_hash_policy_to_kernel()

5 years agoarp-util: use net/ethernet.h instead of netinet/if_ether.h
Yu Watanabe [Thu, 11 Apr 2019 05:36:18 +0000 (14:36 +0900)] 
arp-util: use net/ethernet.h instead of netinet/if_ether.h

The header net/ethernet.h is used at all other places where
'struct ether_addr' is required.

5 years agoresolve: use log_link_*() macro
Yu Watanabe [Thu, 11 Apr 2019 05:16:51 +0000 (14:16 +0900)] 
resolve: use log_link_*() macro

5 years agoresolve: rename Link.name -> Link.ifname
Yu Watanabe [Thu, 11 Apr 2019 05:08:40 +0000 (14:08 +0900)] 
resolve: rename Link.name -> Link.ifname

This also changes the type from char[IF_NAMESIZE] to char*.
By changing the type, now resolved-link.h can drop the dependency to
the header net/if.h.

5 years agoservice: handle abort stops with dedicated timeout
Jan Klötzke [Wed, 29 Nov 2017 06:43:44 +0000 (07:43 +0100)] 
service: handle abort stops with dedicated timeout

When shooting down a service with SIGABRT the user might want to have a
much longer stop timeout than on regular stops/shutdowns. Especially in
the face of short stop timeouts the time might not be sufficient to
write huge core dumps before the service is killed.

This commit adds a dedicated (Default)TimeoutAbortSec= timer that is
used when stopping a service via SIGABRT. In all other cases the
existing TimeoutStopSec= is used. The timer value is unset by default
to skip the special handling and use TimeoutStopSec= for state
'stop-watchdog' to keep the old behaviour.

If the service is in state 'stop-watchdog' and the service should be
stopped explicitly we still go to 'stop-sigterm' and re-apply the usual
TimeoutStopSec= timeout.

5 years agocode style format: clang-format applied to src/a*/*
Sebastian Jennen [Sat, 23 Feb 2019 16:26:25 +0000 (17:26 +0100)] 
code style format: clang-format applied to src/a*/*

[zj: this is a subset of changes generated by clang-format, just the ones
  I think improve readability or consistency.]

This is a part of https://github.com/systemd/systemd/pull/11811.

5 years agocgroup: Implement default propagation of MemoryLow with DefaultMemoryLow
Chris Down [Thu, 28 Mar 2019 12:50:50 +0000 (12:50 +0000)] 
cgroup: Implement default propagation of MemoryLow with DefaultMemoryLow

In cgroup v2 we have protection tunables -- currently MemoryLow and
MemoryMin (there will be more in future for other resources, too). The
design of these protection tunables requires not only intermediate
cgroups to propagate protections, but also the units at the leaf of that
resource's operation to accept it (by setting MemoryLow or MemoryMin).

This makes sense from an low-level API design perspective, but it's a
good idea to also have a higher-level abstraction that can, by default,
propagate these resources to children recursively. In this patch, this
happens by having descendants set memory.low to N if their ancestor has
DefaultMemoryLow=N -- assuming they don't set a separate MemoryLow
value.

Any affected unit can opt out of this propagation by manually setting
`MemoryLow` to some value in its unit configuration. A unit can also
stop further propagation by setting `DefaultMemoryLow=` with no
argument. This removes further propagation in the subtree, but has no
effect on the unit itself (for that, use `MemoryLow=0`).

Our use case in production is simplifying the configuration of machines
which heavily rely on memory protection tunables, but currently require
tweaking a huge number of unit files to make that a reality. This
directive makes that significantly less fragile, and decreases the risk
of misconfiguration.

After this patch is merged, I will implement DefaultMemoryMin= using the
same principles.

5 years agoCODING_STYLE: rename "Others" section to "Code Organization and Semantics" 12296/head
Lennart Poettering [Fri, 12 Apr 2019 15:01:05 +0000 (17:01 +0200)] 
CODING_STYLE: rename "Others" section to "Code Organization and Semantics"

This is a bit of a grabbag, but it's the best I could come up with
without having lots of single-item sections.

5 years agoCODING_STYLE: split out section about runtime behaviour
Lennart Poettering [Fri, 12 Apr 2019 14:58:46 +0000 (16:58 +0200)] 
CODING_STYLE: split out section about runtime behaviour

5 years agoCODING_STYLE: add section about C constructs use
Lennart Poettering [Fri, 12 Apr 2019 14:53:27 +0000 (16:53 +0200)] 
CODING_STYLE: add section about C constructs use

5 years agoCODING_STYLE: split out section about deadlocks
Lennart Poettering [Fri, 12 Apr 2019 14:50:24 +0000 (16:50 +0200)] 
CODING_STYLE: split out section about deadlocks

5 years agoCODING_STYLE: split out section about logging
Lennart Poettering [Fri, 12 Apr 2019 14:49:02 +0000 (16:49 +0200)] 
CODING_STYLE: split out section about logging

5 years agoCODING_STYLE: export section about exporting symbols
Lennart Poettering [Fri, 12 Apr 2019 14:45:03 +0000 (16:45 +0200)] 
CODING_STYLE: export section about exporting symbols

5 years agoCODING_STYLE: split out section about destructors
Lennart Poettering [Fri, 12 Apr 2019 14:42:44 +0000 (16:42 +0200)] 
CODING_STYLE: split out section about destructors

5 years agoCODING_STYLE: split out section about command line parsing
Lennart Poettering [Fri, 12 Apr 2019 14:40:34 +0000 (16:40 +0200)] 
CODING_STYLE: split out section about command line parsing

5 years agoCODING_STYLE: Split out section about error handling
Lennart Poettering [Fri, 12 Apr 2019 14:38:14 +0000 (16:38 +0200)] 
CODING_STYLE: Split out section about error handling

5 years agoCODING_STYLE: split out section about commiting to git
Lennart Poettering [Fri, 12 Apr 2019 14:35:17 +0000 (16:35 +0200)] 
CODING_STYLE: split out section about commiting to git

5 years agoCODING_STYLE: split out section about file descriptors
Lennart Poettering [Fri, 12 Apr 2019 14:34:01 +0000 (16:34 +0200)] 
CODING_STYLE: split out section about file descriptors

5 years agoCODING_STYLE: split out section about memory allocations
Lennart Poettering [Fri, 12 Apr 2019 14:31:58 +0000 (16:31 +0200)] 
CODING_STYLE: split out section about memory allocations

5 years agoCODING_STYLE: move out section about Types
Lennart Poettering [Fri, 12 Apr 2019 14:26:46 +0000 (16:26 +0200)] 
CODING_STYLE: move out section about Types

5 years agoCODING_STYLE: add section about how to reference specific concepts
Lennart Poettering [Fri, 12 Apr 2019 14:22:16 +0000 (16:22 +0200)] 
CODING_STYLE: add section about how to reference specific concepts

5 years agoCODING_STYLE: split out bits about Formatting into its own section
Lennart Poettering [Fri, 12 Apr 2019 14:20:37 +0000 (16:20 +0200)] 
CODING_STYLE: split out bits about Formatting into its own section

(And, for now, add a section "Other" to separate the rest of the stuff)