Riccardo Schirone [Mon, 4 Feb 2019 13:29:28 +0000 (14:29 +0100)]
Allocate temporary strings to hold dbus paths on the heap
Paths are limited to BUS_PATH_SIZE_MAX but the maximum size is anyway too big
to be allocated on the stack, so let's switch to the heap where there is a
clear way to understand if the allocation fails.
Riccardo Schirone [Mon, 4 Feb 2019 13:29:09 +0000 (14:29 +0100)]
Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit.
Even though the dbus specification does not enforce any length limit on the
path of a dbus message, having to analyze too long strings in PID1 may be
time-consuming and it may have security impacts.
In any case, the limit is set so high that real-life applications should not
have a problem with it.
Lennart Poettering [Mon, 18 Feb 2019 17:35:47 +0000 (18:35 +0100)]
Merge pull request #11478 from yuwata/enumerate-match-parent
sd-device-enumerator: support multiple parents
Alexander Tsoy [Wed, 23 Jan 2019 13:33:50 +0000 (16:33 +0300)]
resolved: correctly prove the non-existense of wildcard
* Current logic:
For each NSEC RR find the common suffix between the owner name and
the next name, append asterisk to that suffix and check that
generated wildcard is covered by the NSEC RR in question.
* New logic:
Find NSEC RR covering queried name, generate wildcard as
<asterisk>.<closest encloser> using this RR, then check if any
of the NSEC RRs covers generated wildcard.
Matthias Klumpp [Sun, 9 Sep 2018 01:18:45 +0000 (03:18 +0200)]
core: Allow to configure execute_directories execution behavior
This adds a new bitfield to `execute_directories()` which allows to
configure whether to ignore non-zero exit statuses of binaries run and
whether to allow parallel execution of commands.
In case errors are not ignored, the exit status of the failed script
will now be returned for error reposrting purposes or other further
future use.
Lennart Poettering [Mon, 18 Feb 2019 15:02:45 +0000 (16:02 +0100)]
Merge pull request #10408 from keszybz/analyze-cat-presets
systemd-analyze cat-presets
Lennart Poettering [Mon, 18 Feb 2019 15:02:26 +0000 (16:02 +0100)]
Merge pull request #11729 from yuwata/fix-11721
sd-device: also store properties read from udev database to sd_device::properties_db
Lennart Poettering [Mon, 18 Feb 2019 14:51:30 +0000 (15:51 +0100)]
Merge pull request #11208 from thom311/dhcp-router-option-list
dhcp: have DHCP library support multiple router entries in Router option (3)
Thomas Haller [Mon, 18 Feb 2019 12:01:56 +0000 (13:01 +0100)]
netlink: fix routing-policy-rule integer type for FRA_TUN_ID
FRA_TUN_ID is a 64 big endian integer. Fix the policy.
FRA_TUN_ID is unused by networkd, hence I think this bug
has no actual consequences.
Fixes:
bce67bbee359eec19e6778619b6651100a1c1477
Lennart Poettering [Mon, 18 Feb 2019 12:41:52 +0000 (13:41 +0100)]
Merge pull request #11457 from grooverdan/sendsigkill_no
service: killmode=cgroup|mixed, SendSIGKILL=no services are not multiprocess
Thomas Haller [Sun, 16 Dec 2018 21:02:21 +0000 (22:02 +0100)]
network: avoid inet_ntoa() in favor of inet_ntop()
inet_ntop() is not documented to be thread-safe, so it should not
be used in the DHCP library. Arguably, glibc uses a thread local
buffer, so indeed there is no problem with a suitable libc. Anyway,
just avoid it.
Thomas Haller [Fri, 14 Dec 2018 15:25:01 +0000 (16:25 +0100)]
dhcp: move filtering of bogus DNS/NTP addresses out of DHCP client
The DHCP client should not pre-filter addresses beyond what RFC
requires. If a client's user (like networkd) wishes to skip/filter
certain addresses, it's their responsibility.
The point of this is that the DHCP library does not hide/abstract
information that might be relevant for certain users. For example,
NetworkManager exposes DHCP options in its API. When doing that, the
options should be close to the actual lease.
This is related to commit
d9ec2e632df4905201facf76d6a205edc952116a
(dhcp4: filter bogus DNS/NTP server addresses silently).
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
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.
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
Yu Watanabe [Sat, 16 Feb 2019 17:40:02 +0000 (02:40 +0900)]
meson: drop unused HAVE_STRUCT_FIB_RULE_{UID,PORT}_RANGE
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
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
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.
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
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
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
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
Zbigniew Jędrzejewski-Szmek [Thu, 3 Jan 2019 11:33:42 +0000 (12:33 +0100)]
core: update comment
Initially, the check was that /usr is not a separate fs, and was later relaxed
to allow /usr to be mounted in the initramfs. Documentation was updated in
9e93f6f09229ffdbc46ab,
but this comment wasn't. Let's update it too.
Zbigniew Jędrzejewski-Szmek [Thu, 3 Jan 2019 11:18:19 +0000 (12:18 +0100)]
meson: drop unused "udevhomedir"
Zbigniew Jędrzejewski-Szmek [Thu, 3 Jan 2019 10:34:22 +0000 (11:34 +0100)]
analyze: generalize cat-config to apply to tmpfiles, presets, hwdb.d, etc.
Fixes #10256.
What works:
systemd-analyze cat-config systemd/system-preset
systemd-analyze cat-config systemd/user-preset
systemd-analyze cat-config tmpfiles.d
systemd-analyze cat-config sysusers.d
systemd-analyze cat-config systemd/sleep.conf
systemd-analyze cat-config systemd/user.conf
systemd-analyze cat-config systemd/system.conf
systemd-analyze cat-config udev/udev.conf
(and other .conf files)
systemd-analyze cat-config udev/rules.d
systemd-analyze cat-config environment.d
systemd-analyze cat-config environment
Directories may be specified with the trailing dash or not.
The caveat is that for user configuration, systemd and other tools also look
at ~/.config/. It would be nice to support this, but this patch doesn't.
"cat-config --user" is rejected, and we may allow it in the future and then
extend the search path with directories under ~/.config.
What doesn't work (and probably shouldn't because those files cannot be
meaningfully concatenated):
systemd-analyze cat-config systemd/system (.service, .slice, .socket, ...)
systemd-analyze cat-config systemd/user
systemd-analyze cat-config systemd/network (.network, .link, and .dnssd)
The hardcoding of information about paths in this manner is a bit ugly, but
OTOH, it is not too onerous, and at least we have one place where all the
schemes are "documented" through code. It'll make us think twice before adding
yet another slightly different scheme.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 21:53:03 +0000 (22:53 +0100)]
analyze: use SYNTHETIC_ERRNO
Zbigniew Jędrzejewski-Szmek [Thu, 3 Jan 2019 11:31:06 +0000 (12:31 +0100)]
udev: use the usual set of load paths for udev rules
This adds /usr/local/lib/udev/rules.d to the search path on non-split-usr systems.
On split-usr systems, the paths with /usr/-prefixes are added too.
In the past, on split-usr systems, it made sense to only load rules from
/lib/udev/rules.d, because /usr could be mounted late. But we don't support running
without /usr since
80758717a63, so in practice it doesn't matter whether the
rules files are in /lib/udev/rules.d or /usr/lib/udev/rules.d. Distributions
that maintain the illusion of functional split-usr are welcome to simply not put any
files in /usr/lib/udev/rules.d/.
In practice this doesn't change much, but it makes udev more consistent with the
rest of the systemd suite.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 16:34:55 +0000 (17:34 +0100)]
environment-d-generator: do not include /lib/environment.d in the list
This makes the code match documentation (opposite compared to previous
commits). This is user configuration, hence it should not depend on stuff
in /lib/ even when split-usr is used.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 13:30:24 +0000 (14:30 +0100)]
udev,network: use standard paths for .network and .link files
This centralizes the configuration to one header file.
/usr/local/lib is now included in the search list, and documentation is
updated accordingly.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 13:20:00 +0000 (14:20 +0100)]
resolved: use standard paths for .dnssd files
/usr/local/lib/systemd/dnssd is now also included in the search path. This
path is of limited usefulness, but it makes sense to be consistent.
Documentation is updated to match. Outdated advice against drop-ins in /usr
is removed.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 15:42:30 +0000 (16:42 +0100)]
man: fix section numbers
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 12:55:47 +0000 (13:55 +0100)]
man: add missing spdx header
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 12:53:49 +0000 (13:53 +0100)]
man: document paths under /usr/local in standard-conf.xml
standard-conf.xml is currently included by:
man/binfmt.d.xml
man/environment.d.xml
man/modules-load.d.xml
man/sysctl.d.xml
man/coredump.conf.xml
man/journal-remote.conf.xml
man/journal-upload.conf.xml
man/journald.conf.xml
man/logind.conf.xml
man/networkd.conf.xml
man/resolved.conf.xml
man/systemd-sleep.conf.xml
man/systemd-system.conf.xml
All those programs actually use CONF_PATHS_NULSTR or CONF_PATHS_STRV,
so this changes the documentation to match code.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 12:28:47 +0000 (13:28 +0100)]
resolved: add missing spdx header
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jan 2019 12:12:18 +0000 (13:12 +0100)]
Introduce CONF_PATHS_USR_STRV to mirror CONF_PATHS_STRV
Zbigniew Jędrzejewski-Szmek [Mon, 15 Oct 2018 10:29:48 +0000 (12:29 +0200)]
shared/install: generate list of files in separate function
No functional change.
Yu Watanabe [Sat, 9 Feb 2019 13:56:42 +0000 (22:56 +0900)]
test-network: add tests for bonding
Yu Watanabe [Tue, 12 Feb 2019 21:46:26 +0000 (06:46 +0900)]
man: mention that bond master follows slave operstates
Yu Watanabe [Sat, 9 Feb 2019 18:50:48 +0000 (03:50 +0900)]
man: mention new enslaved operational state
Yu Watanabe [Sat, 9 Feb 2019 18:49:12 +0000 (03:49 +0900)]
networkctl: make enslaved operstate green
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.
Yu Watanabe [Mon, 18 Feb 2019 03:18:56 +0000 (12:18 +0900)]
udev-rules: use parse_uid() or parse_gid()
Yu Watanabe [Mon, 18 Feb 2019 01:41:48 +0000 (10:41 +0900)]
udev-rules: use new() macro instead of malloc_multiply()
Yu Watanabe [Mon, 18 Feb 2019 01:38:29 +0000 (10:38 +0900)]
test-udev: add a testcase of too long line
Yu Watanabe [Mon, 18 Feb 2019 01:37:49 +0000 (10:37 +0900)]
udev-rules: use read_line() and drop fgets()
Yu Watanabe [Mon, 18 Feb 2019 02:31:10 +0000 (11:31 +0900)]
fstab-generator: also logs about x-systemd.growfs mount option
Yu Watanabe [Mon, 18 Feb 2019 02:29:45 +0000 (11:29 +0900)]
fstab-generator: fix debug log
Yu Watanabe [Mon, 18 Feb 2019 00:24:03 +0000 (09:24 +0900)]
udev-rules: use size_t for array index
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.
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.
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.
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
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.
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.
Yu Watanabe [Tue, 12 Feb 2019 05:42:12 +0000 (14:42 +0900)]
test-network: add tests for VRF=
Yu Watanabe [Mon, 11 Feb 2019 12:38:54 +0000 (21:38 +0900)]
test-network: add tests for DHCP.RouteTable=
Yu Watanabe [Mon, 11 Feb 2019 12:29:00 +0000 (21:29 +0900)]
test-network: drop unused variable
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.
Yu Watanabe [Sat, 16 Feb 2019 15:47:45 +0000 (00:47 +0900)]
udev,network: drop unused parent_driver argument from net_match_config()
The argument has never been used.
Yu Watanabe [Fri, 15 Feb 2019 20:44:38 +0000 (05:44 +0900)]
test-network: add a tiny test for ID_NET_DRIVER= udev property
Test for #11721.
Yu Watanabe [Fri, 15 Feb 2019 20:21:59 +0000 (05:21 +0900)]
sd-device: also store properties read from udev database to sd_device::properties_db
Follow-up for
a3ce813697bcc1c4644e097a2f1cd0459326d6ee and
5ce41697bd3ddc19cd6e1e6834751082ca0c8b02.
Before
a3ce813697bcc1c4644e097a2f1cd0459326d6ee, all properties in
src->properties and src->properties_db are mixed and copied to
dst->properties_db by device_copy_properties().
So, it is not necessary to store data from udev database file to
sd_device::properties_db before copying properties.
But now, properties are not mixed. So, the read data need to be
stored to also ::properties_db.
Fixes #11721.
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.
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
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.
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.
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().
Yu Watanabe [Sat, 9 Feb 2019 13:40:05 +0000 (22:40 +0900)]
network: disable addressing on bond slave interface
Yu Watanabe [Tue, 12 Feb 2019 04:03:57 +0000 (13:03 +0900)]
network: add missing error check
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.
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.
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.
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.
Thomas Haller [Thu, 14 Feb 2019 16:14:25 +0000 (17:14 +0100)]
netlink: fix netlink type for routing-rule FRA_L3MDEV
Fixes:
bce67bbee359eec19e6778619b6651100a1c1477
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
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()
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
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=
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
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
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.
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
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
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
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?
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
Lennart Poettering [Wed, 30 Jan 2019 16:39:09 +0000 (17:39 +0100)]
core: export $PIDFILE env var for services, derived from PIDFile=
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
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
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
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>
Yu Watanabe [Thu, 7 Feb 2019 05:22:23 +0000 (06:22 +0100)]
test-network: add test for BindCarrier=
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.
Lennart Poettering [Fri, 15 Feb 2019 10:27:17 +0000 (11:27 +0100)]
Merge pull request #11718 from yuwata/news-v241
Update NEWS
Yu Watanabe [Fri, 15 Feb 2019 04:54:28 +0000 (13:54 +0900)]
test-network: add tests for wildcards in networkctl
Yu Watanabe [Fri, 15 Feb 2019 04:46:34 +0000 (13:46 +0900)]
man: network: replace LINK -> PATTERN
Yu Watanabe [Fri, 15 Feb 2019 04:32:51 +0000 (13:32 +0900)]
networkctl: accept wildcards to specify links
Closes #10840.
Yu Watanabe [Tue, 12 Feb 2019 04:02:38 +0000 (13:02 +0900)]
network: use _cleanup_ attribute at one more place
Yu Watanabe [Tue, 12 Feb 2019 04:00:25 +0000 (13:00 +0900)]
network: configure ipv4ll route after address is set
Yu Watanabe [Tue, 12 Feb 2019 03:49:45 +0000 (12:49 +0900)]
network: honor VRF table or explicitly specified route table