Yu Watanabe [Tue, 6 Nov 2018 17:03:09 +0000 (02:03 +0900)]
Merge pull request #10654 from poettering/srand-rdrand
random-util.c mini-fixes
Marco Trevisan (Treviño) [Thu, 1 Nov 2018 02:04:50 +0000 (03:04 +0100)]
login: Don't mark framebuffer devices as master-of-seat devices
Currently we consider any framebuffer device as enough to have a
valid graphical session, but this might lead to many false postives
like in the case of framebuffer devices that have a linked drm card
which is still in the process of being added, or for vesa fb, and
so it doesn't ensure us that we can have a proper graphical session.
Since these days we normally don't consider anything without a DRM
card able to provide a full graphical session, let's not set this
at this level.
Drivers which can provide a graphical session with the sole fb are
still free to mark any device as `master-of-seat`
Fixes #10435
Lennart Poettering [Tue, 6 Nov 2018 17:01:37 +0000 (20:01 +0300)]
Merge pull request #10658 from yuwata/udevd-worker-performance
udev: improve performance
Lennart Poettering [Tue, 6 Nov 2018 16:33:51 +0000 (19:33 +0300)]
Merge pull request #10602 from yuwata/sd-device-logs
update log messages
Lennart Poettering [Tue, 6 Nov 2018 16:30:59 +0000 (19:30 +0300)]
Merge pull request #10633 from yuwata/sd-resolve-destroy
Another solution to fix wireguard issues
Yu Watanabe [Tue, 6 Nov 2018 03:36:54 +0000 (12:36 +0900)]
time-util: make parse_sec() not accept "12.34.56"
This also changes the rational number treatment.
So, the limitations introduced by
8079c90333422bbc008b68a9b7cefbdb8a15a4e9
and
f6a178e91dd5fccf43f659eca887788fd5dcdccf are relaxed.
Fixes #10619.
Yu Watanabe [Thu, 1 Nov 2018 07:54:10 +0000 (16:54 +0900)]
udevd: increase default number of workers
The uevent handling in udevd is not cpu hungry.
So, let's increase the default number of workers per cpu.
This decrease the number of queued uevents.
Without this commit (children_max is 16 on my laptop)
```
$ journalctl -b -u systemd-udevd.service | grep reached | wc -l
1544
```
With this commit (children_max is 30 on my laptop)
```
$ journalctl -b -u systemd-udevd.service | grep reached | wc -l
7
```
Yu Watanabe [Thu, 1 Nov 2018 01:37:51 +0000 (10:37 +0900)]
udevd: wait 3 seconds before killing worker processes
During boot process, many worker processes are forked and killed.
To decrease cycles of forking and killing worker, let's wait
3 seconds before killing workers. If new uevent or inotify event
comes within the delay, the killing porcess will be cancelled.
Yu Watanabe [Tue, 6 Nov 2018 08:46:00 +0000 (17:46 +0900)]
udevd: drop redundant logic of receiving uevent
If there exists pending uevents, then sd-event invokes uevent handler.
So, it is not necessary to receive the next uevent in inotify event.
Yu Watanabe [Tue, 6 Nov 2018 06:58:41 +0000 (15:58 +0900)]
udevd: decrease indentation
Lennart Poettering [Tue, 6 Nov 2018 14:44:24 +0000 (17:44 +0300)]
Merge pull request #10597 from toanju/fix-networkd-l3-loss
networkd: don't remove ip address or route
Yu Watanabe [Tue, 6 Nov 2018 06:55:09 +0000 (15:55 +0900)]
udevd: merge conditions to decrease indentation
Lennart Poettering [Tue, 6 Nov 2018 13:46:25 +0000 (16:46 +0300)]
Merge pull request #10650 from yuwata/udevadm-trigger-use-write-string-file
udevadm: use write_string_file() helper function
Tobias Jungel [Tue, 6 Nov 2018 08:55:35 +0000 (09:55 +0100)]
networkd: cleanup for #10542
fixes: 53b1f7d
Lennart Poettering [Tue, 6 Nov 2018 13:41:48 +0000 (16:41 +0300)]
Merge pull request #10652 from yuwata/lldp-ndisc-string-table
lldp,ndisc: update debug logs
Giuseppe Scrivano [Mon, 5 Nov 2018 22:06:14 +0000 (23:06 +0100)]
core, sysctl: skip ENOENT for /proc/sys/net/unix/max_dgram_qlen
sysctl is disabled for /proc mounted from an user namespace thus entries like
/proc/sys/net/unix/max_dgram_qlen do not exist. In this case, skip the error
and do not try to change the default for the AF_UNIX datagram queue length.
Lennart Poettering [Tue, 6 Nov 2018 11:34:01 +0000 (12:34 +0100)]
ask-password: fix minor memory leak on error path
CID 1396557
Tobias Jungel [Tue, 6 Nov 2018 12:28:12 +0000 (13:28 +0100)]
networkd: don't remove route
In case networkd is restarted this prevents a removal of an already existing
route that would be configured using networkd. With the proposed changes the
route will be kept on the interface without removing. This happens only on
physical hosts or VMs since networkd handles interface configuration slightly
different in containers.
Tobias Jungel [Wed, 31 Oct 2018 12:33:54 +0000 (13:33 +0100)]
networkd: don't remove ip address
In case networkd is restarted this prevents a removal of an already existing IP
address that would be configured using networkd. With the proposed changes the
IP address will be kept on the interface without removing. This happens only on
physical hosts or VMs since networkd handles interface configuration slightly
different in containers.
Yu Watanabe [Tue, 6 Nov 2018 12:23:52 +0000 (21:23 +0900)]
sd-device: use write_string_file() helper to write sysattr
Yu Watanabe [Tue, 6 Nov 2018 12:23:03 +0000 (21:23 +0900)]
fileio: introduce WRITE_STRING_FILE_NOFOLLOW flag for write_string_file() and friends
Yu Watanabe [Tue, 6 Nov 2018 12:00:07 +0000 (21:00 +0900)]
tree-wide: set WRITE_STRING_FILE_DISABLE_BUFFER flag when we write files under /proc or /sys
Yu Watanabe [Tue, 6 Nov 2018 11:28:25 +0000 (20:28 +0900)]
udevd: use set_oom_score_adjust() to set OOM score
Yu Watanabe [Tue, 6 Nov 2018 03:58:29 +0000 (12:58 +0900)]
udevadm: use write_string_file() helper function
Yu Watanabe [Tue, 6 Nov 2018 05:15:33 +0000 (14:15 +0900)]
test: add tests for string tables for lldp and ndisc events
Yu Watanabe [Tue, 6 Nov 2018 05:07:19 +0000 (14:07 +0900)]
ndisc: improve debug log message
Yu Watanabe [Tue, 6 Nov 2018 04:59:48 +0000 (13:59 +0900)]
lldp: improve debug log message
Lennart Poettering [Tue, 6 Nov 2018 11:08:26 +0000 (12:08 +0100)]
random-util: initialize srand() from RDRAND
It's cheap to get RDRAND and given that srand() is anyway not really
useful for trusted randomness let's use RDRAND for it, after all we have
all the hard work for that already in place.
Lennart Poettering [Tue, 6 Nov 2018 11:08:07 +0000 (12:08 +0100)]
random-util: we don't intend to write to auxv, hence make it const
Lennart Poettering [Tue, 6 Nov 2018 09:28:00 +0000 (12:28 +0300)]
Merge pull request #10611 from yuwata/udev-watch-log
udev-watch: update log levels and messages
Yu Watanabe [Tue, 30 Oct 2018 04:29:44 +0000 (13:29 +0900)]
udev-node: add one more debug log when failed to create symlink
Yu Watanabe [Tue, 30 Oct 2018 04:24:57 +0000 (13:24 +0900)]
udev-node: drop redundant log message
As node_symlink() logs almost same message.
Yu Watanabe [Fri, 26 Oct 2018 00:45:35 +0000 (09:45 +0900)]
udev: setting the same log level to SYSTEMD realm
Otherwise, many debug logs from libsystemd are dropped.
Yu Watanabe [Wed, 31 Oct 2018 05:47:50 +0000 (14:47 +0900)]
test: check returned value of sd_device_get_usec_since_initialized()
Yu Watanabe [Wed, 31 Oct 2018 01:01:45 +0000 (10:01 +0900)]
test: show is_initialized flag in log message of test-sd-device
And drop devpath, as it is redundant for most cases.
Yu Watanabe [Wed, 31 Oct 2018 01:01:11 +0000 (10:01 +0900)]
test: show name of testing functions in test-sd-device
Yu Watanabe [Thu, 1 Nov 2018 07:15:50 +0000 (16:15 +0900)]
sd-device: normalize debug messages
Yu Watanabe [Thu, 1 Nov 2018 07:12:46 +0000 (16:12 +0900)]
sd-device: drop subsystem from log_device_*()
The sd_device object always has syspath and sysname, but subsytem may not.
Also, it may take some costs to get subsystem.
So, let's drop subsystem from logs.
Yu Watanabe [Fri, 26 Oct 2018 23:24:25 +0000 (08:24 +0900)]
udev-watch: adjust level of log messages
Yu Watanabe [Fri, 26 Oct 2018 23:19:51 +0000 (08:19 +0900)]
udev-watch: make udev_watch_lookup() return 1 when device found
Yu Watanabe [Fri, 26 Oct 2018 23:06:40 +0000 (08:06 +0900)]
udev: drop redundant log message and fix returned error code
Lennart Poettering [Mon, 5 Nov 2018 20:14:42 +0000 (23:14 +0300)]
Merge pull request #10606 from yuwata/udev-tests
test: mask hwdb-update.services in most tests
Lennart Poettering [Mon, 5 Nov 2018 14:37:25 +0000 (17:37 +0300)]
Merge pull request #10618 from yuwata/fix-10615
network: fix several issues in config parser
Lennart Poettering [Mon, 5 Nov 2018 13:11:50 +0000 (16:11 +0300)]
Merge pull request #10641 from yuwata/fix-10639
network: check the value of prefix length
Yu Watanabe [Mon, 5 Nov 2018 06:38:46 +0000 (15:38 +0900)]
test: add tests for config_parse_address()
Yu Watanabe [Mon, 5 Nov 2018 07:21:38 +0000 (16:21 +0900)]
network: use in_addr_default_prefix_from_string_auto() in config_parse_address()
Yu Watanabe [Mon, 5 Nov 2018 07:20:08 +0000 (16:20 +0900)]
test: add tests for in_addr_default_prefix_from_string() or friend
Yu Watanabe [Mon, 5 Nov 2018 07:18:17 +0000 (16:18 +0900)]
util: introduce in_addr_default_prefix_from_string() and friends
It is similar to in_addr_prefix_from_string() but it determines
the prefix length from address if it is not specified.
Yu Watanabe [Mon, 5 Nov 2018 06:55:45 +0000 (15:55 +0900)]
util: use strndup() instead of strndupa()
As the input string may be comes from command line or config files.
Yu Watanabe [Sat, 3 Nov 2018 18:19:57 +0000 (03:19 +0900)]
network: sort headers in wireguard.h
Yu Watanabe [Sat, 3 Nov 2018 12:57:06 +0000 (21:57 +0900)]
network: use structured initializers in wireguard.c
Yu Watanabe [Sat, 3 Nov 2018 07:45:17 +0000 (16:45 +0900)]
network: fix crash in wireguard_done()
Fixes another issue in #10629.
Yu Watanabe [Sat, 3 Nov 2018 16:59:46 +0000 (01:59 +0900)]
network: use destroy callback to unref netdev attached to event source
Yu Watanabe [Sun, 4 Nov 2018 11:42:14 +0000 (20:42 +0900)]
network: use destroy callback to clear resolved wireguard endpoints
Yu Watanabe [Sun, 4 Nov 2018 11:36:13 +0000 (20:36 +0900)]
network: link_drop() and netdev_drop() remove reference from manager
Yu Watanabe [Sat, 3 Nov 2018 16:55:28 +0000 (01:55 +0900)]
sd-event: add sd_event_source_{get,set}_floating()
Yu Watanabe [Sat, 3 Nov 2018 16:05:16 +0000 (01:05 +0900)]
sd-resolve: introduce sd_resolve_query_{get,set}_floating()
Yu Watanabe [Sat, 3 Nov 2018 15:56:58 +0000 (00:56 +0900)]
sd-resolve: introduce sd_resolve_query_{get,set}_destroy_callback()
Evgeny Vereshchagin [Mon, 5 Nov 2018 03:47:38 +0000 (06:47 +0300)]
tests: also use lsmod to check whether modules are available (#10634)
It's not entirely impossible to screw something up playing with
kernel modules on a Saturday evening :-) This PR fixes a scenario
where a module has been loaded into the kernel but the module itself
has been removed from the disk.
```
$ lsmod | grep wireg
wireguard 225280 0
ip6_udp_tunnel 16384 1 wireguard
udp_tunnel 16384 1 wireguard
$ modprobe wireguard
modprobe: FATAL: Module wireguard not found in directory /lib/modules/4.18.16-200.fc28.x86_64
$ sudo ./systemd-networkd-tests.py NetworkdNetDevTests.test_wireguard
...
modprobe: FATAL: Module wireguard not found in directory /lib/modules/4.18.16-200.fc28.x86_64
test_wireguard (__main__.NetworkdNetDevTests) ... unexpected success
----------------------------------------------------------------------
Ran 1 test in 5.152s
FAILED (unexpected successes=1)
```
This is a follow-up to https://github.com/systemd/systemd/pull/10625.
Lucas Werkmeister [Mon, 5 Nov 2018 03:47:09 +0000 (04:47 +0100)]
man: locale.conf: fix file name (#10637)
A simple copy+paste mistake, since the reference to
systemd-localed.service was added to both locale.conf(5) and
vconsole.conf(5) in the same commit (
8968e36f21).
Evgeny Vereshchagin [Sat, 3 Nov 2018 17:03:43 +0000 (20:03 +0300)]
tests: add a basic test for wireguard (#10631)
Yu Watanabe [Sat, 3 Nov 2018 07:30:32 +0000 (16:30 +0900)]
vlan-util: add assertions to parse_vlanid()
Yu Watanabe [Sat, 3 Nov 2018 07:29:49 +0000 (16:29 +0900)]
network: add missing .sections element for vcan and vrf
Fixes #10629.
Yu Watanabe [Sat, 3 Nov 2018 06:44:34 +0000 (15:44 +0900)]
network: fix memleak abot Address.label
Also fix possible memleak about Address.section.
Fixes #10628.
Yu Watanabe [Fri, 2 Nov 2018 09:13:14 +0000 (18:13 +0900)]
test: UseRoutes= and UseTimezone= need to be in [DHCP] section
Yu Watanabe [Fri, 2 Nov 2018 08:48:44 +0000 (17:48 +0900)]
test-network: wait after removing links
After
ec6a47044a2ab321ae6427ce0d9fa3f6a17544a8, networkd starts
soon after removing links used by previous test. That causes
some racy situation of removing links and detecting links by networkd.
Yu Watanabe [Fri, 2 Nov 2018 08:36:50 +0000 (17:36 +0900)]
network: drop error cause in log message
Fixes for
21486d9e99463b0dc1f3ff9b9f3846aa67ffca6d.
Yu Watanabe [Fri, 2 Nov 2018 08:14:05 +0000 (17:14 +0900)]
network: fix memleak in static prefix
The fix by
744faf5e4e64e26181f03d1d9fa292ce6fb1456a is not perfect,
as the section leaks if `hashmap_put()` in `prefix_new_static()` fails.
Yu Watanabe [Fri, 2 Nov 2018 07:59:06 +0000 (16:59 +0900)]
netdev: also support GENEVE.UDP6ZeroChecksum{Tx,Rx}=
After
53c06862c12918ec717ea70918039765212eee95, we prefer Checksum
instead of CheckSum. Let's do so for GENEVE netdev.
Yu Watanabe [Fri, 2 Nov 2018 07:38:17 +0000 (16:38 +0900)]
man: drop duplicated line in systemd.netdev(5)
Yu Watanabe [Fri, 2 Nov 2018 07:20:54 +0000 (16:20 +0900)]
network: fix worng offset for .network parser
Yu Watanabe [Thu, 1 Nov 2018 18:25:22 +0000 (03:25 +0900)]
network: fix memleak in config_parse_hwaddr()
Fixes #10615.
Yu Watanabe [Thu, 1 Nov 2018 18:24:57 +0000 (03:24 +0900)]
network: improve readability of config_parse_ifalias()
Yu Watanabe [Thu, 1 Nov 2018 18:17:55 +0000 (03:17 +0900)]
network: fix possible memleak caused by multiple setting of Bridge=, Bond= or VRF=
Yu Watanabe [Thu, 1 Nov 2018 18:15:54 +0000 (03:15 +0900)]
test: add test for radv_prefix_delegation_{from,to}_string()
Yu Watanabe [Thu, 1 Nov 2018 18:15:25 +0000 (03:15 +0900)]
network: introduce radv_prefix_delegation_{from,to}_string()
Yu Watanabe [Thu, 1 Nov 2018 18:14:07 +0000 (03:14 +0900)]
network: fix indentation
Yu Watanabe [Thu, 1 Nov 2018 18:13:03 +0000 (03:13 +0900)]
network: invert the order in comparison
Yu Watanabe [Thu, 1 Nov 2018 18:12:02 +0000 (03:12 +0900)]
network: shorten code a bit
Yu Watanabe [Fri, 2 Nov 2018 01:27:56 +0000 (10:27 +0900)]
test: drop 'After=multi-user.target' from most of testsuite.service
Yu Watanabe [Thu, 1 Nov 2018 08:26:36 +0000 (17:26 +0900)]
test: mask several unnecessary services
This may make CIs run faster.
Yu Watanabe [Thu, 1 Nov 2018 10:54:48 +0000 (19:54 +0900)]
test: increase timeout for TEST-17-UDEV-WANTS
As the test randomly fails with timeout.
This may fix #10274.
Yu Watanabe [Mon, 29 Oct 2018 17:12:13 +0000 (02:12 +0900)]
test: also run compile tests for libudev.h
Felix Yan [Sat, 3 Nov 2018 08:38:41 +0000 (16:38 +0800)]
docs: Fix a typo in CODING_STYLE.md (#10630)
Yu Watanabe [Sat, 3 Nov 2018 08:02:21 +0000 (17:02 +0900)]
Merge pull request #10625 from evverx/test_routing_policy_rule
tests: make NetworkdNetWorkTests.test_routing_policy_rule pass on CentOS
Evgeny Vereshchagin [Fri, 2 Nov 2018 21:08:30 +0000 (22:08 +0100)]
tests: mark a few tests as expected failures when the required modules aren't available
Closes https://github.com/systemd/systemd/issues/10617.
Evgeny Vereshchagin [Fri, 2 Nov 2018 16:03:45 +0000 (17:03 +0100)]
tests: make NetworkdNetWorkTests.test_routing_policy_rule pass on CentOS
Depending on the content of /etc/iproute2/rt_dsfield, ip can print either
`0x08` or `throughput` as was shown in https://github.com/systemd/systemd/issues/10617#issuecomment-
435200859.
Zbigniew Jędrzejewski-Szmek [Fri, 2 Nov 2018 14:05:00 +0000 (15:05 +0100)]
Merge pull request #10624 from splantefeve/fr-translation
po: update French translation and drop copyright
Sylvain Plantefève [Fri, 2 Nov 2018 13:39:19 +0000 (14:39 +0100)]
po: drop my copyright (fr.po)
Sylvain Plantefève [Fri, 2 Nov 2018 13:33:32 +0000 (14:33 +0100)]
po: update French translation
Franck Bui [Fri, 2 Nov 2018 12:24:35 +0000 (13:24 +0100)]
coredump: only install coredump.conf when ENABLED_COREDUMP=true
Tobias Jungel [Fri, 2 Nov 2018 01:31:20 +0000 (02:31 +0100)]
networkd: add missing bonding options (#10542)
Add support for bonding options system prio, port key and actor system mac.
These options exist in the linux kernel since 4.2
(torvalds/linux@
171a42c38c6e1)
Details:
https://www.kernel.org/doc/Documentation/networking/bonding.txt
Evgeny Vereshchagin [Thu, 1 Nov 2018 23:52:53 +0000 (02:52 +0300)]
Merge pull request #10607 from yuwata/fix-10605
network: fix segfault in manager_free()
Yu Watanabe [Thu, 1 Nov 2018 14:41:29 +0000 (23:41 +0900)]
network: drop white space in log message
Yu Watanabe [Thu, 1 Nov 2018 14:40:56 +0000 (23:40 +0900)]
network: fix hash function for routing policy rule
Yu Watanabe [Thu, 1 Nov 2018 14:38:01 +0000 (23:38 +0900)]
network: fix return value of routing_policy_rule_get()
To distinguish source of rule.
Yu Watanabe [Thu, 1 Nov 2018 14:24:17 +0000 (23:24 +0900)]
network: fix memleak in routing policy
As set_put() may fail if input is duplicated.
Yu Watanabe [Thu, 1 Nov 2018 12:46:36 +0000 (21:46 +0900)]
network: fix memleak in static prefix
Fixes #10608.
Yu Watanabe [Thu, 1 Nov 2018 11:21:26 +0000 (20:21 +0900)]
network: fix segfault in manager_free()
Fixes #10605.
Matthew Leeds [Wed, 31 Oct 2018 17:09:41 +0000 (10:09 -0700)]
man: Fix a couple grammatical errors