Yu Watanabe [Wed, 28 Nov 2018 21:00:19 +0000 (22:00 +0100)]
test-network: stop systemd-networkd.socket during testing
To suppress noisy warning messages.
Yu Watanabe [Wed, 28 Nov 2018 19:03:56 +0000 (20:03 +0100)]
test-network: clear state file before starting networkd
Otherwise, some tests may disturb others, e.g.,
NetworkdNetWorkTests.test_routing_policy_rule_port_range and
NetworkdNetWorkTests.test_routing_policy_rule.
Yu Watanabe [Wed, 28 Nov 2018 18:55:01 +0000 (19:55 +0100)]
test-network: use /run instead of legacy /var/run
Yu Watanabe [Wed, 28 Nov 2018 18:18:03 +0000 (03:18 +0900)]
Merge pull request #10970 from yuwata/from-name-return-negative-errno
util: make *_from_name() returns negative errno on error
Yu Watanabe [Wed, 28 Nov 2018 18:17:36 +0000 (03:17 +0900)]
Merge pull request #10948 from ssahani/iprule-port-proto
networkd: add support to configure ip rule port range and protocol.
Lennart Poettering [Thu, 15 Nov 2018 08:50:42 +0000 (09:50 +0100)]
meson: let's bump RLIMIT_NOFILE hard limit to 512K
Prompted by:
https://lists.freedesktop.org/archives/systemd-devel/2018-October/041578.html
Lubomir Rintel [Wed, 28 Nov 2018 10:44:20 +0000 (11:44 +0100)]
sysctl.d: switch net.ipv4.conf.all.rp_filter from 1 to 2
This switches the RFC3704 Reverse Path filtering from Strict mode to Loose
mode. The Strict mode breaks some pretty common and reasonable use cases,
such as keeping connections via one default route alive after another one
appears (e.g. plugging an Ethernet cable when connected via Wi-Fi).
The strict filter also makes it impossible for NetworkManager to do
connectivity check on a newly arriving default route (it starts with a
higher metric and is bumped lower if there's connectivity).
Kernel's default is 0 (no filter), but a Loose filter is good enough. The
few use cases where a Strict mode could make sense can easily override
this.
The distributions that don't care about the client use cases and prefer a
strict filter could just ship a custom configuration in
/usr/lib/sysctl.d/ to override this.
Susant Sahani [Tue, 27 Nov 2018 05:28:54 +0000 (10:58 +0530)]
networkd: add support to configure ip rule port range and protocol.
Please see:
iprule: support for ip_proto, sport and dport match options
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=
f686f764682745daf6a93b0a6330ba42a961f858
Closes 10622
Susant Sahani [Mon, 26 Nov 2018 17:13:17 +0000 (22:43 +0530)]
fix: systemd-networkd reverse route ordering
We missing a default route. Add gateway first.
This fixes https://github.com/systemd/systemd/issues/5430
Victor Tapia [Wed, 21 Nov 2018 13:01:04 +0000 (14:01 +0100)]
resolved: Increase size of TCP stub replies
DNS_PACKET_PAYLOAD_SIZE_MAX is limiting the size of the stub replies to
512 with EDNS off or 4096 with EDNS on, without checking the protocol
used. This makes TCP replies for clients without EDNS support to be
limited to 512, making the truncate flag useless if the query result is
bigger than 512 bytes.
This commit increases the size of TCP replies to DNS_PACKET_SIZE_MAX
Fixes: #10816
Yu Watanabe [Wed, 28 Nov 2018 08:54:04 +0000 (17:54 +0900)]
util: make *_from_name() returns negative errno on error
Yu Watanabe [Wed, 28 Nov 2018 11:20:29 +0000 (20:20 +0900)]
util: also move scripts related to socket-protocol-list.[ch] to shared/
The source files were moved to shared/. Let's also move the relevant scripts.
Yu Watanabe [Wed, 28 Nov 2018 11:19:41 +0000 (20:19 +0900)]
tools: move generate-gperfs.py to tools/
Lennart Poettering [Wed, 28 Nov 2018 07:52:52 +0000 (08:52 +0100)]
missing.h: remove duplicate definition of 'struct ethtool_link_settings'
Fixes: #10966
Lennart Poettering [Wed, 28 Nov 2018 09:30:53 +0000 (10:30 +0100)]
Merge pull request #10961 from poettering/busctl-monitor-json
busctl: support json mode also for 'busctl monitor'
Lennart Poettering [Tue, 27 Nov 2018 19:08:03 +0000 (20:08 +0100)]
core: USB function properties do not change dynamically, don't claim so
This reduces our PropertiesChanged signals a bit in size as we don't
keep out blasting properties that cannot change anyway all the time.
Zbigniew Jędrzejewski-Szmek [Wed, 28 Nov 2018 09:28:05 +0000 (10:28 +0100)]
Merge pull request #10954 from poettering/install-all-fixo
correct of enabling logic for template units without DefaultInstall=
Lennart Poettering [Tue, 27 Nov 2018 12:50:37 +0000 (13:50 +0100)]
install: when enabling a template unit without DefaultInstance= nor specified instance don't do anything
Previously, we'd link the unit file into /etc in this case, but that
should only be done if the unit file is not in the search path anyway,
and this is already done implicitly anyway for all enabled unit files,
hence no reason to duplicate this here.
Fixes: #10253
Lennart Poettering [Tue, 27 Nov 2018 12:39:20 +0000 (13:39 +0100)]
install: use structured initializers
Lennart Poettering [Tue, 27 Nov 2018 12:52:54 +0000 (13:52 +0100)]
systemctl: separate out paragraphs in long message with empty line
Lennart Poettering [Tue, 27 Nov 2018 12:52:04 +0000 (13:52 +0100)]
systemctl: bullet lists FTW!
There's no reason to number these items, let's make this a bit nicer by
using proper bullets.
Lennart Poettering [Tue, 27 Nov 2018 12:40:19 +0000 (13:40 +0100)]
systemctl: downgrade log message to LOG_NOTICE
This log message is not problematic at all, it is merely explanatory,
hence LOG_WARN is too high for this.
Lennart Poettering [Tue, 27 Nov 2018 12:39:28 +0000 (13:39 +0100)]
systemctl: suffix unit file settings with = in our output
We do this in our man pages and log messages, and hence also in this
explanatory text.
Lennart Poettering [Tue, 27 Nov 2018 12:50:28 +0000 (13:50 +0100)]
locale-util: add unicode bullet to special glyphs
Lennart Poettering [Tue, 27 Nov 2018 21:30:30 +0000 (22:30 +0100)]
busctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transformations
Let's not generate object fields that aren't defined for a message.
Lennart Poettering [Tue, 27 Nov 2018 21:26:21 +0000 (22:26 +0100)]
json: teach json builder "conditional" object fields
Quite often when we generate objects some fields should only be
generated in some conditions. Let's add high-level support for that.
Matching the existing JSON_BUILD_PAIR() this adds
JSON_BUILD_PAIR_CONDITIONAL() which is very similar, but takes an
additional parameter: a boolean condition. If "true" this acts like
JSON_BUILD_PAIR(), but if false then the whole pair is suppressed.
This sounds simply, but requires a tiny bit of complexity: when complex
sub-variants are used in fields, then we also need to suppress them.
Lennart Poettering [Tue, 27 Nov 2018 19:07:58 +0000 (20:07 +0100)]
busctl: support json mode also for 'busctl monitor'
Yu Watanabe [Wed, 28 Nov 2018 05:02:42 +0000 (14:02 +0900)]
Merge pull request #10967 from evverx/check-directives
travis: make sure that *.perf and directives.* files are in sync
Evgeny Vereshchagin [Wed, 28 Nov 2018 04:13:17 +0000 (05:13 +0100)]
tests: update test/fuzz/fuzz-netdev-parser/directives.netdev
This is a follow-up to
2266864b04257d7a.
Evgeny Vereshchagin [Wed, 28 Nov 2018 03:50:04 +0000 (04:50 +0100)]
travis: make sure that *.perf and directives.* files are in sync
New features are constantly added to networkd. Apparently, not everybody
knows that the "directives" files should be updated too to make
the fuzzers aware of them.
Lennart Poettering [Tue, 27 Nov 2018 09:34:32 +0000 (10:34 +0100)]
tree-wide: more IOVEC_MAKE() conversions
Lennart Poettering [Tue, 27 Nov 2018 16:30:23 +0000 (17:30 +0100)]
test: make TEST-27 non-racy
Not sure how I missed this, but we of course need to wait for the
"systemd-run" commands to finish before we can check the output files
this generated.
Yu Watanabe [Wed, 28 Nov 2018 02:33:27 +0000 (11:33 +0900)]
Merge pull request #10952 from evverx/keep-fuzz-udev-rules-going
tests: make fuzz-udev-rules work also in the environment created by run_minijail
Evgeny Vereshchagin [Tue, 27 Nov 2018 20:57:33 +0000 (21:57 +0100)]
tests: suppress "unwanted log lines" in several fuzzers
According to https://oss-fuzz.com/fuzzer-stats/by-fuzzer/fuzzer/libFuzzer/job/libfuzzer_asan_systemd,
fuzz-network-parser, fuzz-netdev-parser and fuzz-journal-remote produce
a lot of unwanted log lines. Let's set the maximum log level to LOG_CRIT
as we do in the other fuzzers.
Evgeny Vereshchagin [Wed, 28 Nov 2018 00:29:57 +0000 (01:29 +0100)]
tests: make fuzz-udev-rules work also in the environment created by run_minijail
This should close https://oss-fuzz.com/testcase?key=
5642013043589120.
See also https://github.com/google/oss-fuzz/issues/1983.
Lennart Poettering [Tue, 27 Nov 2018 21:37:22 +0000 (22:37 +0100)]
Merge pull request #10951 from thom311/network-dhcp-route-option
add accessor for sd_dhcp_route's "option"
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 16:02:20 +0000 (17:02 +0100)]
man,factory: update factory config for nsswitch.conf to match the man pages
Also add a note in the man pages to remind people to adjust the factory config
and other man pages at the same time.
Lennart Poettering [Tue, 27 Nov 2018 16:12:57 +0000 (17:12 +0100)]
Merge pull request #10955 from keszybz/rc-local-more-info
Provide more information in rc-local-generator
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 14:24:07 +0000 (15:24 +0100)]
rc-local-generator: provide more debugging information
C.f. https://bugzilla.redhat.com/show_bug.cgi?id=1516188.
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 14:23:35 +0000 (15:23 +0100)]
rc-local-generator: use macro to define main()
Lennart Poettering [Tue, 27 Nov 2018 12:18:26 +0000 (13:18 +0100)]
Merge pull request #10944 from poettering/redirect-file-fix
StandardOutput=file: fixes
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 11:53:43 +0000 (12:53 +0100)]
Merge pull request #10902 from poettering/highlight-status
Highlight status
Evgeny Vereshchagin [Tue, 27 Nov 2018 11:47:06 +0000 (12:47 +0100)]
tests: keep going even if setup_mount_namespace has failed
This should address https://github.com/google/oss-fuzz/issues/1983.
Thomas Haller [Tue, 27 Nov 2018 11:18:29 +0000 (12:18 +0100)]
network: use sd_dhcp_route_get_option() accessor in link_set_dhcp_routes()
Thomas Haller [Tue, 27 Nov 2018 11:09:52 +0000 (12:09 +0100)]
network: add sd_dhcp_route_get_option() accessor
Since sd_dhcp_lease_get_routes() returns the list of all routes,
the caller may need to differenciate whether the route was option
33 (static-routes) or 121 (classless-static-route).
Add an accessor for the internal field.
Lennart Poettering [Tue, 27 Nov 2018 09:29:17 +0000 (10:29 +0100)]
Merge pull request #10813 from poettering/cgroup-exec-start-pre
make sure ExecStartPre= and Delegate=yes mix well
Lennart Poettering [Mon, 26 Nov 2018 20:52:36 +0000 (21:52 +0100)]
tree-wide: use IOVEC_MAKE() at many places
Lennart Poettering [Mon, 26 Nov 2018 20:09:07 +0000 (21:09 +0100)]
test: add a test for StandardError=file:…
This deserves a test of its, given how broken on so many levels this
previously was.
Lennart Poettering [Mon, 26 Nov 2018 20:07:48 +0000 (21:07 +0100)]
core: be more careful when inheriting stdout fds to stderr
We need to compare the fd name/file name if we inherit an fd from stdout
to stderr. Let's do that.
Fixes: #10875
Lennart Poettering [Mon, 26 Nov 2018 20:07:39 +0000 (21:07 +0100)]
bus-unit-util: properly accept StandardOutput=append:… settings
Lennart Poettering [Mon, 26 Nov 2018 20:07:06 +0000 (21:07 +0100)]
dbus-execute: generate the correct transient unit setting
Lennart Poettering [Mon, 26 Nov 2018 20:06:19 +0000 (21:06 +0100)]
dbus-execute: fix indentation
Lennart Poettering [Mon, 26 Nov 2018 20:05:37 +0000 (21:05 +0100)]
core: drop references to 'StandardOutputFileToCreate'
This property never existed, let's drop any reference to it.
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 09:04:20 +0000 (10:04 +0100)]
Merge pull request #10949 from yuwata/man-improve-unset
man: slightly update man pages of network related units
Yu Watanabe [Tue, 27 Nov 2018 06:07:58 +0000 (15:07 +0900)]
man: update explanation for boolean options
Yu Watanabe [Tue, 27 Nov 2018 05:40:25 +0000 (14:40 +0900)]
man: improve the explanation of "Defaults to unset"
Lennart Poettering [Mon, 26 Nov 2018 20:16:27 +0000 (21:16 +0100)]
test: add test for setting service manager environment variables
This is a follow-up for #10594. I somehow forgot to commit this when I
worked on that.
Yu Watanabe [Tue, 27 Nov 2018 05:24:43 +0000 (14:24 +0900)]
Merge pull request #10947 from poettering/sd-radv-fixes
sd-radv fixes
Lennart Poettering [Mon, 26 Nov 2018 16:48:22 +0000 (17:48 +0100)]
journald: don't try to rotate user journals in /var/log/journal/ if we are still in log-to-runtime-journal mode
Fixes: #10879
Susant Sahani [Mon, 26 Nov 2018 11:50:09 +0000 (17:20 +0530)]
networkd: Add support for ERSPAN tunnel
Please see: https://patchwork.ozlabs.org/patch/800327/
```
[NetDev]
Name=erspan-test
Kind=erspan
[Tunnel]
Independent=true
ERSPANIndex=123
Local = 172.16.1.200
Remote = 172.16.1.100
Key=101
SerializeTunneledPackets=true
```
Claudius Ellsel [Mon, 26 Nov 2018 20:10:42 +0000 (21:10 +0100)]
First restructuration of Logitech mice in 70-mouse.hwdb
Untested, just carefully copy and pasted under the created sections. First approach to #10941
Lennart Poettering [Mon, 26 Nov 2018 21:13:36 +0000 (22:13 +0100)]
sd-radv: use struct initializers
Lennart Poettering [Mon, 26 Nov 2018 21:13:15 +0000 (22:13 +0100)]
sd-radv: per our CODING_STYLE don't use 'bool' in public headers
Lennart Poettering [Mon, 26 Nov 2018 21:12:53 +0000 (22:12 +0100)]
sd-radv: no need to initialize r to zero
Lennart Poettering [Mon, 26 Nov 2018 21:12:38 +0000 (22:12 +0100)]
sd-radv: make sure we can deal with in_addr_to_string() failing
Lennart Poettering [Mon, 26 Nov 2018 21:12:07 +0000 (22:12 +0100)]
sd-radv: when receiving a too short packet, make sure we dequeue it
Lennart Poettering [Mon, 26 Nov 2018 21:11:12 +0000 (22:11 +0100)]
sd-radv: propagate OOM, it's reason to fail
Lennart Poettering [Mon, 26 Nov 2018 21:09:57 +0000 (22:09 +0100)]
sd-radv: follow our usualy rule that destructors can take NULL
Lennart Poettering [Mon, 26 Nov 2018 20:54:52 +0000 (21:54 +0100)]
sd-radv: simplify IPv6 address is-null check
Lennart Poettering [Mon, 26 Nov 2018 20:54:31 +0000 (21:54 +0100)]
sd-radv: drop const from non-ptr argument
Lennart Poettering [Mon, 26 Nov 2018 20:53:26 +0000 (21:53 +0100)]
sd-radv: use ether_addr_is_null() where appropriate
Lennart Poettering [Mon, 26 Nov 2018 16:38:52 +0000 (17:38 +0100)]
units: make fsck/grows/makefs/makeswap units conflict against shutdown.target
They are the only units we shipped/generated where this was missing really. Let's fix these.
Follow-up for: #10933
Lennart Poettering [Mon, 26 Nov 2018 18:10:26 +0000 (19:10 +0100)]
tree-wide: use SWAP_TWO a bit more
Yu Watanabe [Mon, 26 Nov 2018 06:46:55 +0000 (15:46 +0900)]
test-network: add tests for #5430 and GatewayOnLink=
Lennart Poettering [Mon, 26 Nov 2018 17:46:47 +0000 (18:46 +0100)]
Merge pull request #10928 from yuwata/fix-9940
network: also load foo.netdev.d/*.conf
Lennart Poettering [Fri, 16 Nov 2018 19:29:02 +0000 (20:29 +0100)]
man: link Delegate= documentation up with the markdown docs
Lennart Poettering [Fri, 16 Nov 2018 19:25:54 +0000 (20:25 +0100)]
docs: document the .control/ subcgroup contract in the docs
Lennart Poettering [Fri, 16 Nov 2018 19:19:07 +0000 (20:19 +0100)]
core: when Delegate=yes is set for a unit, run ExecStartPre= and friends in a subcgroup of the unit
Otherwise we might conflict with the "no-processes-in-inner-cgroup" rule
of cgroupsv2. Consider nspawn starting up and initializing its cgroup
hierarchy with "supervisor/" and "payload/" as subcgroup, with itself
moved into the former and the payload into the latter. Now, if an
ExecStartPre= is run right after it cannot be placed in the main cgroup,
because that is now in inner cgroup with populated children.
Hence, let's run these helpers in another sub-cgroup .control/ below it.
This is somewhat ugly since it weakens the clear separation of
ownership, but given that this is an explicit contract, and double opt-in should be acceptable.
Fixes: #10482
Lennart Poettering [Fri, 23 Nov 2018 16:46:25 +0000 (17:46 +0100)]
unit: tweak status output a bit
Let's highlight the unit description string in the status updates, to
separate them a bit more the english sentence they are part of, and thus
make the different casing less surprising.
Lennart Poettering [Fri, 23 Nov 2018 16:19:24 +0000 (17:19 +0100)]
show-status: use free_and_replace() where we can
Lennart Poettering [Fri, 23 Nov 2018 16:18:48 +0000 (17:18 +0100)]
show-status: fold two bool flags function arguments into a flags
parameter
Lennart Poettering [Mon, 26 Nov 2018 17:08:41 +0000 (18:08 +0100)]
Merge pull request #10919 from yuwata/sd-device-monitor-fixes
sd-device-monitor: several fixes
Harald Hoyer [Mon, 26 Nov 2018 10:41:29 +0000 (11:41 +0100)]
generator.c: systemd-fsck-root.service conflict with shutdown.target
Otherwise a "reboot" or "poweroff" in the initramfs will have to wait
until systemd-fsck-root.service has completed, which might never happen
if the root device never shows up.
Yu Watanabe [Mon, 26 Nov 2018 13:05:48 +0000 (22:05 +0900)]
test-network: add one more test for netdev dropin .conf files
For netdev, config files are loaded twice, and the first time,
only Match and NetDev setions are read. So, the test given by
the previous commit covers only the second loading.
This adds another test that also covers the first loading.
Yu Watanabe [Mon, 26 Nov 2018 13:40:51 +0000 (22:40 +0900)]
Merge pull request #10901 from poettering/startswith-list
add new STARTSWITH_SET() macro
Lennart Poettering [Mon, 26 Nov 2018 13:23:28 +0000 (14:23 +0100)]
Merge pull request #10927 from yuwata/udev-ctrl-cleanup
udev: update log messages and fix coding style issues
Lennart Poettering [Mon, 26 Nov 2018 13:20:36 +0000 (14:20 +0100)]
Merge pull request #10925 from yuwata/sd-boot-fixes
sd-boot: fixes trailing whitespace trimming and updates document
Lennart Poettering [Mon, 26 Nov 2018 13:19:03 +0000 (14:19 +0100)]
Merge pull request #10910 from yuwata/list-cleanups
basic/list: tiny fixes
Lennart Poettering [Mon, 26 Nov 2018 13:18:23 +0000 (14:18 +0100)]
Merge pull request #10909 from yuwata/import-cleanups
Import: cleanups
Lennart Poettering [Mon, 26 Nov 2018 13:13:01 +0000 (14:13 +0100)]
Merge pull request #10894 from poettering/root-cgroup-fix
A multitude of cgroup fixes
Lennart Poettering [Fri, 23 Nov 2018 15:53:39 +0000 (16:53 +0100)]
terminal-util: use PATH_STARTSWITH_SET() instead of plain startswith() where appropriate
After all, we deal with paths here.
Lennart Poettering [Fri, 23 Nov 2018 15:52:43 +0000 (16:52 +0100)]
journal-upload: use static initialization
Lennart Poettering [Fri, 23 Nov 2018 15:52:26 +0000 (16:52 +0100)]
journal-remote: shorten code a bit by using strcspn()
Lennart Poettering [Fri, 23 Nov 2018 15:51:53 +0000 (16:51 +0100)]
tree-wide: port more code over to PATH_STARTSWITH_SET()
Lennart Poettering [Fri, 23 Nov 2018 15:50:39 +0000 (16:50 +0100)]
path-util: beef up PATH_STARTSWITH_SET() macro a bit
Let's remove duplicate evaluation, and let's return the result of the
succesful path_startswith() call, i.e. the suffix to the matching
prefix.
Lennart Poettering [Fri, 23 Nov 2018 15:31:04 +0000 (16:31 +0100)]
tree-wide: port over more cases to STR_IN_SET()
Lennart Poettering [Fri, 23 Nov 2018 15:30:23 +0000 (16:30 +0100)]
tree-wide: port various places over to STARTSWITH_SET()
Lennart Poettering [Fri, 23 Nov 2018 15:27:15 +0000 (16:27 +0100)]
strv: add new macro STARTSWITH_SET()
This is to startswith() what PATH_STARTSWITH_SET() is to
path_startswith().
Or in other words, checks if the specified string has any of the listed
prefixes, and if so, returns the remainder of the string.
Lennart Poettering [Mon, 26 Nov 2018 12:41:07 +0000 (13:41 +0100)]
update TODO
Evgeny Vereshchagin [Mon, 26 Nov 2018 09:14:30 +0000 (12:14 +0300)]
tests: add a fuzzer for the udev rules parser (#10929)