]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agodhcp: handle multiple addresses for "Router" (option 3) in DHCP library
Thomas Haller [Fri, 14 Dec 2018 10:10:57 +0000 (11:10 +0100)] 
dhcp: handle multiple addresses for "Router" (option 3) in DHCP library

The Router DHCP option may contain a list of one or more
routers ([1]). Extend the API of sd_dhcp_lease to return a
list instead of only the first.

Note that networkd still only uses the first router (if present).
Aside from extending the internal API of the DHCP client, there
is almost no change in behavior. The only visible difference in
behavior is that the "ROUTER" variable in the lease file is now a
list of addresses.

Note how RFC 2132 does not define certain IP addresses as invalid for the
router option. Still, previously sd_dhcp_lease_get_router() would never
return a "0.0.0.0" address. In fact, the previous API could not
differenciate whether no router option was present, whether it
was invalid, or whether its first router was "0.0.0.0". No longer let
the DHCP client library impose additional restrictions that are not
part of RFC. Instead, the caller should handle this. The patch does
that, and networkd only consideres the first router entry if it is not
"0.0.0.0".

[1] https://tools.ietf.org/html/rfc2132#section-3.5

5 years agonetwork: don't return allocated buffer of zero length from deserialize_in_addrs()
Thomas Haller [Fri, 14 Dec 2018 23:45:46 +0000 (00:45 +0100)] 
network: don't return allocated buffer of zero length from deserialize_in_addrs()

deserialize_in_addrs() allocates the buffer before trying to parse
the IP address. Since a parsing error is silently ignored, the returned
size might be zero. In such a case we shouldn't return any buffer.

Anyway, there was no leak, because there are only two callers like

    r = deserialize_in_addrs(&lease->dns, dns);

which both keep the unused buffer and later release it.

Note that deserialize_in_addrs() doesn't free the pointer before
reassigning the new output. The caller must take care to to pass
"ret" with an allocated buffer that would be leaked when returning
the result.

5 years agoMerge pull request #11746 from yuwata/udev-rules-cleanup
Lennart Poettering [Mon, 18 Feb 2019 12:05:34 +0000 (13:05 +0100)] 
Merge pull request #11746 from yuwata/udev-rules-cleanup

udev-rules: several cleanups for udev-rules.c

5 years agomeson: drop unused HAVE_STRUCT_FIB_RULE_{UID,PORT}_RANGE
Yu Watanabe [Sat, 16 Feb 2019 17:40:02 +0000 (02:40 +0900)] 
meson: drop unused HAVE_STRUCT_FIB_RULE_{UID,PORT}_RANGE

5 years agoMerge pull request #11681 from yuwata/network-link-enslaved-operstate
Lennart Poettering [Mon, 18 Feb 2019 12:00:13 +0000 (13:00 +0100)] 
Merge pull request #11681 from yuwata/network-link-enslaved-operstate

network: introduce new 'enslaved' operstate

5 years agoMerge pull request #11698 from yuwata/fix-network-route-table
Lennart Poettering [Mon, 18 Feb 2019 11:58:32 +0000 (12:58 +0100)] 
Merge pull request #11698 from yuwata/fix-network-route-table

network: honor specified route table

5 years agoudev-event: make subst_format_var() always provide null-terminated string on success
Yu Watanabe [Sat, 16 Feb 2019 22:56:28 +0000 (07:56 +0900)] 
udev-event: make subst_format_var() always provide null-terminated string on success

Fixes #11731.

5 years agonetlink: fix routing-policy-rule netlink type for FRA_GOTO/FRA_UNUSED2
Thomas Haller [Mon, 18 Feb 2019 06:28:02 +0000 (07:28 +0100)] 
netlink: fix routing-policy-rule netlink type for FRA_GOTO/FRA_UNUSED2

- RTA_OIF has no business in the routing-rule policy. It is numerical
  identical to FRA_GOTO. Fix using the correct enum value. Note that
  RTA_OIF/FRA_GOTO was not used by networkd, and the type was already
  correct at uint32. So, there is no change in behavior.

- RTA_GATEWAY also does not belong to the routing-rules. It is numerical
  identical to FRA_UNUSED2. Obviously, that value is unused as well,
  so there is no actual change in behavior either. In particular
  that is because:
    - kernel would not send messages with FRA_UNUSED2 attribute.
    - networkd would not try to parse/send RTA_GATEWAY/FRA_UNUSED2
      attributes.

Fixes: bce67bbee359eec19e6778619b6651100a1c1477
5 years agoMerge pull request #11226 from keszybz/enable-remount-fs-dynamically
Lennart Poettering [Mon, 18 Feb 2019 11:46:31 +0000 (12:46 +0100)] 
Merge pull request #11226 from keszybz/enable-remount-fs-dynamically

Enable systemd-remount-fs.service dynamically

5 years agoMerge pull request #11747 from yuwata/fstab-generator-log
Lennart Poettering [Mon, 18 Feb 2019 11:42:16 +0000 (12:42 +0100)] 
Merge pull request #11747 from yuwata/fstab-generator-log

fstab-generator: fix and update log message

5 years agoMerge pull request #11743 from keszybz/two-memory-fixups
Lennart Poettering [Mon, 18 Feb 2019 11:09:25 +0000 (12:09 +0100)] 
Merge pull request #11743 from keszybz/two-memory-fixups

Two fixups for issues found by scanners

5 years agotest-network: add tests for bonding 11681/head
Yu Watanabe [Sat, 9 Feb 2019 13:56:42 +0000 (22:56 +0900)] 
test-network: add tests for bonding

5 years agoman: mention that bond master follows slave operstates
Yu Watanabe [Tue, 12 Feb 2019 21:46:26 +0000 (06:46 +0900)] 
man: mention that bond master follows slave operstates

5 years agoman: mention new enslaved operational state
Yu Watanabe [Sat, 9 Feb 2019 18:50:48 +0000 (03:50 +0900)] 
man: mention new enslaved operational state

5 years agonetworkctl: make enslaved operstate green
Yu Watanabe [Sat, 9 Feb 2019 18:49:12 +0000 (03:49 +0900)] 
networkctl: make enslaved operstate green

5 years agonetwork: make bond master follow operstates of slaves
Yu Watanabe [Tue, 12 Feb 2019 21:32:48 +0000 (06:32 +0900)] 
network: make bond master follow operstates of slaves

If one of bond slaves is in off, no-carrier, or dormant, then
bond master is set to degraded.

5 years agoudev-rules: use parse_uid() or parse_gid() 11746/head
Yu Watanabe [Mon, 18 Feb 2019 03:18:56 +0000 (12:18 +0900)] 
udev-rules: use parse_uid() or parse_gid()

5 years agoudev-rules: use new() macro instead of malloc_multiply()
Yu Watanabe [Mon, 18 Feb 2019 01:41:48 +0000 (10:41 +0900)] 
udev-rules: use new() macro instead of malloc_multiply()

5 years agotest-udev: add a testcase of too long line
Yu Watanabe [Mon, 18 Feb 2019 01:38:29 +0000 (10:38 +0900)] 
test-udev: add a testcase of too long line

5 years agoudev-rules: use read_line() and drop fgets()
Yu Watanabe [Mon, 18 Feb 2019 01:37:49 +0000 (10:37 +0900)] 
udev-rules: use read_line() and drop fgets()

5 years agofstab-generator: also logs about x-systemd.growfs mount option 11747/head
Yu Watanabe [Mon, 18 Feb 2019 02:31:10 +0000 (11:31 +0900)] 
fstab-generator: also logs about x-systemd.growfs mount option

5 years agofstab-generator: fix debug log
Yu Watanabe [Mon, 18 Feb 2019 02:29:45 +0000 (11:29 +0900)] 
fstab-generator: fix debug log

5 years agoudev-rules: use size_t for array index
Yu Watanabe [Mon, 18 Feb 2019 00:24:03 +0000 (09:24 +0900)] 
udev-rules: use size_t for array index

5 years agoudev-rules: use GREEDY_REALLOC() macro where it applicable
Yu Watanabe [Mon, 18 Feb 2019 00:21:47 +0000 (09:21 +0900)] 
udev-rules: use GREEDY_REALLOC() macro where it applicable

This also changes types of several variables e.g. token_max to size_t.

5 years agotest-network: decrease sleep time in test_bind_carrier()
Yu Watanabe [Sat, 16 Feb 2019 18:59:15 +0000 (03:59 +0900)] 
test-network: decrease sleep time in test_bind_carrier()

This effectively reverts 63eb09569aa90721be4accbea4b78421f3c1ba7c,
as the commit does not fix #11724.

5 years agonetwork: always drop configs when corresponding network file does not exist
Yu Watanabe [Sat, 16 Feb 2019 18:57:13 +0000 (03:57 +0900)] 
network: always drop configs when corresponding network file does not exist

Follow-up for 93b4dab57e2e13bd804cbee999241be65a443e2e.

Fixes #11724.

5 years agoshared/calendarspec: do not allocate a big string on stack 11743/head
Zbigniew Jędrzejewski-Szmek [Sat, 16 Feb 2019 21:35:46 +0000 (22:35 +0100)] 
shared/calendarspec: do not allocate a big string on stack

The string can be as long as a logical line in a unit file — so no unlimited,
but quite big. Let's use a normal heap allocation when making a copy.

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13125

5 years agoresolve: drop unnecessary %n fields from dns_resource_record_to_string()
Yu Watanabe [Sat, 16 Feb 2019 16:04:49 +0000 (01:04 +0900)] 
resolve: drop unnecessary %n fields from dns_resource_record_to_string()

And use returned value by asprintf() instead.

This hopefully fixes #11733.

5 years agobasic/hexdecoct: be more careful in overflow check
Zbigniew Jędrzejewski-Szmek [Sat, 16 Feb 2019 19:34:57 +0000 (20:34 +0100)] 
basic/hexdecoct: be more careful in overflow check

CID #139583: plen + 1 is evaluated as int, and could in principle overflow.
So cast to ssize_t and add an additional check that our overflow calculation
doesn't overflow itself.

5 years agotest-network: add tests for VRF= 11698/head
Yu Watanabe [Tue, 12 Feb 2019 05:42:12 +0000 (14:42 +0900)] 
test-network: add tests for VRF=

5 years agotest-network: add tests for DHCP.RouteTable=
Yu Watanabe [Mon, 11 Feb 2019 12:38:54 +0000 (21:38 +0900)] 
test-network: add tests for DHCP.RouteTable=

5 years agotest-network: drop unused variable
Yu Watanabe [Mon, 11 Feb 2019 12:29:00 +0000 (21:29 +0900)] 
test-network: drop unused variable

5 years agonetwork: disable link local addressing on vrf
Yu Watanabe [Sat, 16 Feb 2019 16:15:19 +0000 (01:15 +0900)] 
network: disable link local addressing on vrf

See the commment in vrf_link_scope_lookup() in drivers/net/vrf.c of
Linux kernel.

5 years agotest-network: increase sleep time in test_bind_carrier()
Yu Watanabe [Fri, 15 Feb 2019 19:08:42 +0000 (04:08 +0900)] 
test-network: increase sleep time in test_bind_carrier()

Hopefully fixes #11667.

5 years agoMerge pull request #11727 from filbranden/minor1
Yu Watanabe [Fri, 15 Feb 2019 22:22:00 +0000 (07:22 +0900)] 
Merge pull request #11727 from filbranden/minor1

A couple of very minor fixes

5 years agoudev-rules: update log messages about OWNER= or GROUP= settings on --resolve=names...
Yu Watanabe [Fri, 15 Feb 2019 18:53:36 +0000 (03:53 +0900)] 
udev-rules: update log messages about OWNER= or GROUP= settings on --resolve=names=never

This also set lower log level for the messages.

6e2efb6c739784deb026726331fe7e7365080f8b introduces the log messages.
But udevd may be started with --resolve-names=never, and the behavior
is expected.

Fixes #11720.

5 years agonetwork: introduce new operational state 'enslaved'
Yu Watanabe [Fri, 15 Feb 2019 03:29:59 +0000 (12:29 +0900)] 
network: introduce new operational state 'enslaved'

If an interface has IFF_SLAVE flag, then its operational state becomes
not in 'degraded' or 'carrier', but the new 'enslaved' state.

5 years agonetwork: introduce specific netlink async handler for link_set_bond()
Yu Watanabe [Sat, 9 Feb 2019 13:41:13 +0000 (22:41 +0900)] 
network: introduce specific netlink async handler for link_set_bond()

This also rename link_bond_set() to link_set_bond().

5 years agonetwork: disable addressing on bond slave interface
Yu Watanabe [Sat, 9 Feb 2019 13:40:05 +0000 (22:40 +0900)] 
network: disable addressing on bond slave interface

5 years agonetwork: add missing error check
Yu Watanabe [Tue, 12 Feb 2019 04:03:57 +0000 (13:03 +0900)] 
network: add missing error check

5 years agoreadme: Minor style and spacing fix 11727/head
Filipe Brandenburger [Fri, 15 Feb 2019 19:05:04 +0000 (11:05 -0800)] 
readme: Minor style and spacing fix

Fix section header for stable branches and backports. All the other
headings end in a colon and have no blank lines between them and the
body of the section, so fix this one accordingly.

5 years agoeditors: Prevent ctags from following symlinks
Filipe Brandenburger [Fri, 15 Feb 2019 19:01:20 +0000 (11:01 -0800)] 
editors: Prevent ctags from following symlinks

Some tests will create a subtree of /sys under build/test/sys and
depending on the local system that tree might end up having an infinite
chain of symlinks. For example:

  $ ls build/test/sys/devices/pnp0/00:00/subsystem/devices/00:00/subsystem/devices/00:00/subsystem/devices/00:00/subsystem/devices/00:00/subsystem/devices/00:00/subsystem/
  devices  drivers  drivers_autoprobe

Exuberant ctags will by default follow symlinks, so configure it not to
do so through a local .ctags file setting --links=no.

Tested that `ctags -R` doesn't get stuck with the dotfile present.

5 years agounits: add usb-gadget target
Andrzej Pietrasiewicz [Tue, 29 Jan 2019 10:13:44 +0000 (11:13 +0100)] 
units: add usb-gadget target

Linux can be run on a device meant to act as a USB peripheral. In order
for a machine to act as such a USB device it has to be equipped with
a UDC - USB Device Controller.

This patch adds a target reached when UDC becomes available. It can be used
for activating e.g. a service unit which composes a USB gadget with
configfs and activates it.

5 years agoFail RequisiteOf units with oneshots
Jonathon Kowalski [Sat, 19 Jan 2019 05:19:46 +0000 (05:19 +0000)] 
Fail RequisiteOf units with oneshots

Fixes: #11422
Oneshots going to inactive directly without ever entering UNIT_ACTIVE is
considered success. This however means that if something both Requires=
and Requisites= a unit of such nature, the verify-active job getting
merged into the start job makes it lose this property of failing the
depending jobs, as there, the start job has the result JOB_DONE on
success, so we never walk over RequisiteOf units.

This change makes sure that such units always go down. It is also only
meaningful with After=, but so is Requisite= itself. Also, we also catch
cases like a oneshot having RemainAfterExit= true making us start up
properly in such a setting, but then removing it, reloading the unit,
and restarting it. In such a case, we go down due to restart propagation
before them, and our start job waits on theirs, properly failing with
the JOB_DEPENDENCY result.

This covers cases where ConditionXYZ= creates a similar situation as
well.

5 years agonetlink: fix netlink type for routing-rule FRA_L3MDEV
Thomas Haller [Thu, 14 Feb 2019 16:14:25 +0000 (17:14 +0100)] 
netlink: fix netlink type for routing-rule FRA_L3MDEV

Fixes: bce67bbee359eec19e6778619b6651100a1c1477
5 years agoMerge pull request #11716 from ssahani/drop-autoconf-address
Lennart Poettering [Fri, 15 Feb 2019 11:17:46 +0000 (12:17 +0100)] 
Merge pull request #11716 from ssahani/drop-autoconf-address

networkd: ipv6ra allow to ignore addresses

5 years agoMerge pull request #11589 from yuwata/udevd-is-device-busy
Lennart Poettering [Fri, 15 Feb 2019 11:16:37 +0000 (12:16 +0100)] 
Merge pull request #11589 from yuwata/udevd-is-device-busy

udevd: refactoring is_device_busy()

5 years agov4l_id: use device_caps if available
Michael Olbrich [Sun, 3 Feb 2019 09:52:02 +0000 (10:52 +0100)] 
v4l_id: use device_caps if available

According to the specification[1] the 'capabilities' describe the physical
device as a whole and the 'device_caps' describe the current device node.
The existence of 'device_caps' is indicated by the V4L2_CAP_DEVICE_CAPS
capability flag.
Use the 'device_caps' if available to generate the correct
ID_V4L_CAPABILITIES for the current device node.

This is relevant for UVC devices with current kernels: Two /dev/videoX
devices exist for those. One for video and one for metadata. The
 V4L2_CAP_VIDEO_CAPTURE flag is present in the 'capabilities' for both
device nodes but only in the 'device_caps' of the video device node.

Without this, the ID_V4L_CAPABILITIES of the metadata device node
incorrectly contains 'capture'.

[1] https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querycap.html

5 years agoMerge pull request #9594 from filbranden/cpu_quota_period1
Lennart Poettering [Fri, 15 Feb 2019 11:11:42 +0000 (12:11 +0100)] 
Merge pull request #9594 from filbranden/cpu_quota_period1

core: add CPUQuotaPeriodSec=

5 years agoMerge pull request #11634 from yuwata/rfe-11622
Lennart Poettering [Fri, 15 Feb 2019 10:56:32 +0000 (11:56 +0100)] 
Merge pull request #11634 from yuwata/rfe-11622

busctl: add 'emit' command

5 years agoMerge pull request #11719 from yuwata/networkctl-wildcards
Lennart Poettering [Fri, 15 Feb 2019 10:44:24 +0000 (11:44 +0100)] 
Merge pull request #11719 from yuwata/networkctl-wildcards

networkctl: accept wildcards to specify links

5 years agodhcp: ignore padding of 'chaddr' in DHCP server response
Thomas Haller [Wed, 6 Feb 2019 17:13:20 +0000 (18:13 +0100)] 
dhcp: ignore padding of 'chaddr' in DHCP server response

The "chaddr" field is 16 bytes long, with "hlen" being the
length of the address.

https://tools.ietf.org/html/rfc2131#section-4.3.1 says:

    The server MUST return to the client:

    ...

    o Any parameters specific to this client (as identified by
      the contents of 'chaddr' or 'client identifier' in the DHCPDISCOVER
      or DHCPREQUEST message), e.g., as configured by the network
      administrator,

It's not clear, whether only the first 'hlen' bytes of 'chaddr'
must correspond or all 16 bytes.

Note that https://tools.ietf.org/html/rfc4390#section-2.1 says for IPoIB

    "chaddr" (client hardware address) field MUST be zeroed.

with having "hlen" zero. This indicates that at least in this case, the
bytes after "hlen" would matter.

As the DHCP client always sets the trailing bytes to zero, we would expect
that the server also replies as such and we could just compare all 16 bytes.
However, let's be liberal and accept any padding here.

This in practice only changes behavior for infiniband, where we
previously would enforce that the first ETH_ALEN bytes are zero.
That seems arbitrary for IPoIB. We should either check all bytes or
none of them. Let's do the latter and don't enforce RFC 4390 in this
regard.

5 years agoMerge pull request #11636 from yuwata/network-in-addr-is-null
Lennart Poettering [Fri, 15 Feb 2019 10:40:34 +0000 (11:40 +0100)] 
Merge pull request #11636 from yuwata/network-in-addr-is-null

network, sd-netlink: unify several functions and fixes coding style

5 years agoMerge pull request #11594 from yuwata/udev-rule-cleanups
Lennart Poettering [Fri, 15 Feb 2019 10:37:11 +0000 (11:37 +0100)] 
Merge pull request #11594 from yuwata/udev-rule-cleanups

udev-rule, ethtool: several coding style cleanups

5 years agoMerge pull request #9262 from ssahani/ignore-carrier-9111
Lennart Poettering [Fri, 15 Feb 2019 10:35:43 +0000 (11:35 +0100)] 
Merge pull request #9262 from ssahani/ignore-carrier-9111

networkd: allow to retain configs even if carrier is lost

5 years agoresolved: use Cloudflare public DNS server as a default fallback alongside Google one
Ignat Korchagin [Wed, 6 Feb 2019 19:51:28 +0000 (19:51 +0000)] 
resolved: use Cloudflare public DNS server as a default fallback alongside Google one

Cloudflare public DNS service is currently the fastest one according to
https://www.dnsperf.com/#!dns-resolvers. Why not improve the experience for
systemd users using this as a default fallback nameserver?

5 years agoMerge pull request #11617 from topimiettinen/backlight-handle-zero-file-load
Lennart Poettering [Fri, 15 Feb 2019 10:32:58 +0000 (11:32 +0100)] 
Merge pull request #11617 from topimiettinen/backlight-handle-zero-file-load

backlight: handle loading truncated file

5 years agocore: export $PIDFILE env var for services, derived from PIDFile=
Lennart Poettering [Wed, 30 Jan 2019 16:39:09 +0000 (17:39 +0100)] 
core: export $PIDFILE env var for services, derived from PIDFile=

5 years agoMerge pull request #11373 from tomty89/auto
Lennart Poettering [Fri, 15 Feb 2019 10:31:55 +0000 (11:31 +0100)] 
Merge pull request #11373 from tomty89/auto

mount/generators: do not make unit wanted by its device unit

5 years agoMerge pull request #11382 from keszybz/udev-predictable-macs
Lennart Poettering [Fri, 15 Feb 2019 10:31:25 +0000 (11:31 +0100)] 
Merge pull request #11382 from keszybz/udev-predictable-macs

Allow MACAddressPolicy=persistent for all virtual devices

5 years agoMerge pull request #11506 from bl33pbl0p/reload-fix
Lennart Poettering [Fri, 15 Feb 2019 10:31:00 +0000 (11:31 +0100)] 
Merge pull request #11506 from bl33pbl0p/reload-fix

Return -EAGAIN instead of -EALREADY from unit_reload

5 years agorules: watch metadata changes on nbd devices
Tony Asleson [Fri, 8 Feb 2019 21:47:10 +0000 (15:47 -0600)] 
rules: watch metadata changes on nbd devices

Include nbd* in match for watch option assignment.

Signed-off-by: Tony Asleson <tasleson@redhat.com>
5 years agotest-network: add test for BindCarrier=
Yu Watanabe [Thu, 7 Feb 2019 05:22:23 +0000 (06:22 +0100)] 
test-network: add test for BindCarrier=

5 years agologin: add a missing error check for session_set_leader()
Yu Watanabe [Thu, 14 Feb 2019 01:59:13 +0000 (10:59 +0900)] 
login: add a missing error check for session_set_leader()

session_set_leader() may fail. If it fails, then manager_start_scope()
will trigger assertion.

This may be related to RHBZ#1663704.

5 years agoMerge pull request #11718 from yuwata/news-v241
Lennart Poettering [Fri, 15 Feb 2019 10:27:17 +0000 (11:27 +0100)] 
Merge pull request #11718 from yuwata/news-v241

Update NEWS

5 years agotest-network: add tests for wildcards in networkctl 11719/head
Yu Watanabe [Fri, 15 Feb 2019 04:54:28 +0000 (13:54 +0900)] 
test-network: add tests for wildcards in networkctl

5 years agoman: network: replace LINK -> PATTERN
Yu Watanabe [Fri, 15 Feb 2019 04:46:34 +0000 (13:46 +0900)] 
man: network: replace LINK -> PATTERN

5 years agonetworkctl: accept wildcards to specify links
Yu Watanabe [Fri, 15 Feb 2019 04:32:51 +0000 (13:32 +0900)] 
networkctl: accept wildcards to specify links

Closes #10840.

5 years agonetwork: use _cleanup_ attribute at one more place
Yu Watanabe [Tue, 12 Feb 2019 04:02:38 +0000 (13:02 +0900)] 
network: use _cleanup_ attribute at one more place

5 years agonetwork: configure ipv4ll route after address is set
Yu Watanabe [Tue, 12 Feb 2019 04:00:25 +0000 (13:00 +0900)] 
network: configure ipv4ll route after address is set

5 years agonetwork: honor VRF table or explicitly specified route table
Yu Watanabe [Tue, 12 Feb 2019 03:49:45 +0000 (12:49 +0900)] 
network: honor VRF table or explicitly specified route table

5 years agonetwork: introduce Network::ipv6_accept_ra_route_table_set flag
Yu Watanabe [Tue, 12 Feb 2019 03:42:10 +0000 (12:42 +0900)] 
network: introduce Network::ipv6_accept_ra_route_table_set flag

It will be used in later commit.

5 years agonetwork: add more debugging logs when adding, removing, updateing and configuring...
Yu Watanabe [Mon, 11 Feb 2019 12:28:13 +0000 (21:28 +0900)] 
network: add more debugging logs when adding, removing, updateing and configuring route

5 years agonetwork: minor coding style update
Yu Watanabe [Mon, 11 Feb 2019 12:25:13 +0000 (21:25 +0900)] 
network: minor coding style update

5 years agoNEWS: add entry about 'udevadm trigger --wait-daemon' 11718/head
Yu Watanabe [Fri, 15 Feb 2019 01:18:14 +0000 (10:18 +0900)] 
NEWS: add entry about 'udevadm trigger --wait-daemon'

5 years agoNEWS: fix release date
Yu Watanabe [Fri, 15 Feb 2019 01:15:55 +0000 (10:15 +0900)] 
NEWS: fix release date

5 years agocore: downgrade CPUQuotaPeriodSec= clamping logs to debug 9594/head
Filipe Brandenburger [Thu, 24 Jan 2019 04:19:44 +0000 (20:19 -0800)] 
core: downgrade CPUQuotaPeriodSec= clamping logs to debug

After the first warning log, further messages are downgraded to LOG_DEBUG.

5 years agocore: add CPUQuotaPeriodSec=
Filipe Brandenburger [Fri, 2 Nov 2018 16:21:57 +0000 (09:21 -0700)] 
core: add CPUQuotaPeriodSec=

This new setting allows configuration of CFS period on the CPU cgroup, instead
of using a hardcoded default of 100ms.

Tested:
- Legacy cgroup + Unified cgroup
- systemctl set-property
- systemctl show
- Confirmed that the cgroup settings (such as cpu.cfs_period_ns) were set
  appropriately, including updating the CPU quota (cpu.cfs_quota_ns) when
  CPUQuotaPeriodSec= is updated.
- Checked that clamping works properly when either period or (quota * period)
  are below the resolution of 1ms, or if period is above the max of 1s.

5 years agotime-util: Introduce parse_sec_def_infinity
Filipe Brandenburger [Thu, 24 Jan 2019 03:48:54 +0000 (19:48 -0800)] 
time-util: Introduce parse_sec_def_infinity

This works like parse_sec() but defaults to USEC_INFINITY when passed an
empty string or only whitespace.

Also introduce config_parse_sec_def_infinity, which can be used to parse
config options using this function.

This is useful for time options that use "infinity" for default and that
can be reset by unsetting them.

Introduce a test case to ensure it works as expected.

5 years agomount: remove unused mount_is_auto and mount_is_automount 11373/head
Tom Yan [Wed, 9 Jan 2019 16:19:43 +0000 (00:19 +0800)] 
mount: remove unused mount_is_auto and mount_is_automount

5 years agomount/generators: do not make unit wanted by its device unit
Tom Yan [Wed, 9 Jan 2019 15:35:24 +0000 (23:35 +0800)] 
mount/generators: do not make unit wanted by its device unit

As device units will be reloaded by systemd whenever the corresponding device generates a "changed" event, if the mount unit / cryptsetup service is wanted by its device unit, the former can be restarted by systemd unexpectedly after the user stopped them explicitly. It is not sensible at all and can be considered dangerous. Neither is the behaviour conventional (as `auto` in fstab should only affect behaviour on boot and `mount -a`) or ever documented at all (not even in systemd, see systemd.mount(5) and crypttab(5)).

5 years agoAdd to fuzzer 11716/head
Susant Sahani [Thu, 14 Feb 2019 15:40:59 +0000 (21:10 +0530)] 
Add to fuzzer

5 years agonetworkd: ipv6ra allow to ignore addresses
Susant Sahani [Thu, 14 Feb 2019 15:35:17 +0000 (21:05 +0530)] 
networkd: ipv6ra allow to ignore addresses

Allows to ignore prefixes.

```
UseAutonomousPrefix=
UseOnLinkPrefix=
```

closes #9582

5 years agoRevert "README: remove Coverity Scan badge"
Evgeny Vereshchagin [Thu, 14 Feb 2019 11:04:01 +0000 (14:04 +0300)] 
Revert "README: remove Coverity Scan badge"

This reverts commit 49a881e5143cf87e6a02718e92008e12c3334ac0.

5 years agoMerge pull request #11714 from poettering/final-news-241 11372/head v241
Zbigniew Jędrzejewski-Szmek [Thu, 14 Feb 2019 10:11:58 +0000 (11:11 +0100)] 
Merge pull request #11714 from poettering/final-news-241

final preps for v241

5 years agoupdate hwdb 11714/head
Lennart Poettering [Thu, 14 Feb 2019 10:03:06 +0000 (11:03 +0100)] 
update hwdb

5 years agoNEWS: update for final v241
Lennart Poettering [Thu, 14 Feb 2019 09:58:06 +0000 (10:58 +0100)] 
NEWS: update for final v241

5 years agosd-bus: if we receive an invalid dbus message, ignore and proceeed
Lennart Poettering [Wed, 13 Feb 2019 15:51:22 +0000 (16:51 +0100)] 
sd-bus: if we receive an invalid dbus message, ignore and proceeed

dbus-daemon might have a slightly different idea of what a valid msg is
than us (for example regarding valid msg and field sizes). Let's hence
try to proceed if we can and thus drop messages rather than fail the
connection if we fail to validate a message.

Hopefully the differences in what is considered valid are not visible
for real-life usecases, but are specific to exploit attempts only.

5 years agoMerge pull request #11704 from yuwata/fix-oss-fuzz-12980
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 22:27:12 +0000 (23:27 +0100)] 
Merge pull request #11704 from yuwata/fix-oss-fuzz-12980

udev-rule: make rule_add_key() return negative errno when too much tokens

5 years agosd-hwdb: fix matching for characters with an ord > 127
Peter Hutterer [Fri, 8 Feb 2019 00:30:48 +0000 (10:30 +1000)] 
sd-hwdb: fix matching for characters with an ord > 127

Devices like the "Microsoft Microsoft® 2.4GHz Transceiver v9.0 Mouse" contain
characters higher than 127. That ® is correctly stored in the hwdb and passed
into the search field during query, but the comparison fails.

Our search string is a const char *, trie_string() returns a const char * but
the current character is cast to uint8_t. This causes anything over 127 to
fail the match. Fix this, we're dealing with characters everywhere here after
all.

5 years agoMerge pull request #11487 from poettering/unprotect-errno
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 22:18:13 +0000 (23:18 +0100)] 
Merge pull request #11487 from poettering/unprotect-errno

Make sure NSS modules can change errno if they want

5 years agoudev: check whether systemd is running, and do not use cg_kill() if not
Yu Watanabe [Wed, 6 Feb 2019 18:34:13 +0000 (19:34 +0100)] 
udev: check whether systemd is running, and do not use cg_kill() if not

Fixes #11645.

5 years agoMerge pull request #11423 from ssahani/issue-9890
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 15:37:11 +0000 (16:37 +0100)] 
Merge pull request #11423 from ssahani/issue-9890

networkd: honour LinkLocalAddressing

5 years agoMerge pull request #11707 from keszybz/man-directives-spring-cleaning
Lennart Poettering [Wed, 13 Feb 2019 15:35:00 +0000 (16:35 +0100)] 
Merge pull request #11707 from keszybz/man-directives-spring-cleaning

systemd.directives(7) spring cleaning

5 years agoman: move sd-login(5) udev tags to the udev section 11707/head
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 10:11:30 +0000 (11:11 +0100)] 
man: move sd-login(5) udev tags to the udev section

They are not udev systax exactly, but it seems better to keep them
there.

5 years agoman: add a new section for EFI variables
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 10:09:02 +0000 (11:09 +0100)] 
man: add a new section for EFI variables

We should probably refer to them from other man pages
for programs which use them, since right now all refs are
in systemd-boot(7). But creating the section is a good step
anyway.

5 years agoman: add a new directives section for .nspawn
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 09:57:49 +0000 (10:57 +0100)] 
man: add a new directives section for .nspawn

They is quite a bit of those directives and they were in "MISCELLANEOUS" because
they don't quite fit anywhere. When the OCI-compat stuff is merged, there'll
be even more, so let's make a separate section for them.

5 years agoman: move all config file options to one section
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 09:49:47 +0000 (10:49 +0100)] 
man: move all config file options to one section

We had "SYSTEM MANAGER DIRECTIVES" which was a misnomer already, because
it also listed user manager stuff. Let's make this a more general section
and move the items for other services there too (from "MISCELANENOUS").

5 years agoman: move os-release, machine-info, vconsole.conf vars to envvar section
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 09:36:26 +0000 (10:36 +0100)] 
man: move os-release, machine-info, vconsole.conf vars to envvar section

Strictly speaking, those are not environment variables, but they are compatible
and people think about them like this. Moving them makes them easier to find.

5 years agoman: use <constant> for SD_BUS_ERROR_* and SD_BUS_NAME_* constants
Zbigniew Jędrzejewski-Szmek [Wed, 13 Feb 2019 09:27:36 +0000 (10:27 +0100)] 
man: use <constant> for SD_BUS_ERROR_* and SD_BUS_NAME_* constants

This moves them to the right section in systemd.directives.