]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agotravis: rewrite .travis.yml and re-enable Travis CI for Fedora
Frantisek Sumsal [Sun, 4 Nov 2018 17:23:30 +0000 (18:23 +0100)] 
travis: rewrite .travis.yml and re-enable Travis CI for Fedora

5 years agoMerge pull request #10606 from yuwata/udev-tests
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

5 years agoMerge pull request #10618 from yuwata/fix-10615
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

5 years agoMerge pull request #10641 from yuwata/fix-10639
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

5 years agotest: add tests for config_parse_address() 10641/head
Yu Watanabe [Mon, 5 Nov 2018 06:38:46 +0000 (15:38 +0900)] 
test: add tests for config_parse_address()

5 years agonetwork: use in_addr_default_prefix_from_string_auto() in 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()

5 years agotest: add tests for in_addr_default_prefix_from_string() or friend
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

5 years agoutil: introduce in_addr_default_prefix_from_string() and friends
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.

5 years agoutil: use strndup() instead of strndupa()
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.

5 years agotests: also use lsmod to check whether modules are available (#10634)
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.

5 years agoman: locale.conf: fix file name (#10637)
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).

5 years agotests: add a basic test for wireguard (#10631)
Evgeny Vereshchagin [Sat, 3 Nov 2018 17:03:43 +0000 (20:03 +0300)] 
tests: add a basic test for wireguard (#10631)

5 years agovlan-util: add assertions to parse_vlanid() 10618/head
Yu Watanabe [Sat, 3 Nov 2018 07:30:32 +0000 (16:30 +0900)] 
vlan-util: add assertions to parse_vlanid()

5 years agonetwork: add missing .sections element for vcan and vrf
Yu Watanabe [Sat, 3 Nov 2018 07:29:49 +0000 (16:29 +0900)] 
network: add missing .sections element for vcan and vrf

Fixes #10629.

5 years agonetwork: fix memleak abot Address.label
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.

5 years agotest: UseRoutes= and UseTimezone= need to be in [DHCP] section
Yu Watanabe [Fri, 2 Nov 2018 09:13:14 +0000 (18:13 +0900)] 
test: UseRoutes= and UseTimezone= need to be in [DHCP] section

5 years agotest-network: wait after removing links
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.

5 years agonetwork: drop error cause in log message
Yu Watanabe [Fri, 2 Nov 2018 08:36:50 +0000 (17:36 +0900)] 
network: drop error cause in log message

Fixes for 21486d9e99463b0dc1f3ff9b9f3846aa67ffca6d.

5 years agonetwork: fix memleak in static prefix
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.

5 years agonetdev: also support GENEVE.UDP6ZeroChecksum{Tx,Rx}=
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.

5 years agoman: drop duplicated line in systemd.netdev(5)
Yu Watanabe [Fri, 2 Nov 2018 07:38:17 +0000 (16:38 +0900)] 
man: drop duplicated line in systemd.netdev(5)

5 years agonetwork: fix worng offset for .network parser
Yu Watanabe [Fri, 2 Nov 2018 07:20:54 +0000 (16:20 +0900)] 
network: fix worng offset for .network parser

5 years agonetwork: fix memleak in config_parse_hwaddr()
Yu Watanabe [Thu, 1 Nov 2018 18:25:22 +0000 (03:25 +0900)] 
network: fix memleak in config_parse_hwaddr()

Fixes #10615.

5 years agonetwork: improve readability of config_parse_ifalias()
Yu Watanabe [Thu, 1 Nov 2018 18:24:57 +0000 (03:24 +0900)] 
network: improve readability of config_parse_ifalias()

5 years agonetwork: fix possible memleak caused by multiple setting of Bridge=, Bond= or VRF=
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=

5 years agotest: add test for radv_prefix_delegation_{from,to}_string()
Yu Watanabe [Thu, 1 Nov 2018 18:15:54 +0000 (03:15 +0900)] 
test: add test for radv_prefix_delegation_{from,to}_string()

5 years agonetwork: introduce 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()

5 years agonetwork: fix indentation
Yu Watanabe [Thu, 1 Nov 2018 18:14:07 +0000 (03:14 +0900)] 
network: fix indentation

5 years agonetwork: invert the order in comparison
Yu Watanabe [Thu, 1 Nov 2018 18:13:03 +0000 (03:13 +0900)] 
network: invert the order in comparison

5 years agonetwork: shorten code a bit
Yu Watanabe [Thu, 1 Nov 2018 18:12:02 +0000 (03:12 +0900)] 
network: shorten code a bit

5 years agotest: drop 'After=multi-user.target' from most of testsuite.service 10606/head
Yu Watanabe [Fri, 2 Nov 2018 01:27:56 +0000 (10:27 +0900)] 
test: drop 'After=multi-user.target' from most of testsuite.service

5 years agotest: mask several unnecessary services
Yu Watanabe [Thu, 1 Nov 2018 08:26:36 +0000 (17:26 +0900)] 
test: mask several unnecessary services

This may make CIs run faster.

5 years agotest: increase timeout for TEST-17-UDEV-WANTS
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.

5 years agotest: also run compile tests for libudev.h
Yu Watanabe [Mon, 29 Oct 2018 17:12:13 +0000 (02:12 +0900)] 
test: also run compile tests for libudev.h

5 years agodocs: Fix a typo in CODING_STYLE.md (#10630)
Felix Yan [Sat, 3 Nov 2018 08:38:41 +0000 (16:38 +0800)] 
docs: Fix a typo in CODING_STYLE.md (#10630)

5 years agoMerge pull request #10625 from evverx/test_routing_policy_rule
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

5 years agotests: mark a few tests as expected failures when the required modules aren't available 10625/head
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.

5 years agotests: make NetworkdNetWorkTests.test_routing_policy_rule pass on CentOS
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.

5 years agoMerge pull request #10624 from splantefeve/fr-translation
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

5 years agopo: drop my copyright (fr.po) 10624/head
Sylvain Plantefève [Fri, 2 Nov 2018 13:39:19 +0000 (14:39 +0100)] 
po: drop my copyright (fr.po)

5 years agopo: update French translation
Sylvain Plantefève [Fri, 2 Nov 2018 13:33:32 +0000 (14:33 +0100)] 
po: update French translation

5 years agocoredump: only install coredump.conf when ENABLED_COREDUMP=true
Franck Bui [Fri, 2 Nov 2018 12:24:35 +0000 (13:24 +0100)] 
coredump: only install coredump.conf when ENABLED_COREDUMP=true

5 years agonetworkd: add missing bonding options (#10542)
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

5 years agoMerge pull request #10607 from yuwata/fix-10605
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()

5 years agonetwork: drop white space in log message 10607/head
Yu Watanabe [Thu, 1 Nov 2018 14:41:29 +0000 (23:41 +0900)] 
network: drop white space in log message

5 years agonetwork: fix hash function for routing policy rule
Yu Watanabe [Thu, 1 Nov 2018 14:40:56 +0000 (23:40 +0900)] 
network: fix hash function for routing policy rule

5 years agonetwork: fix return value of routing_policy_rule_get()
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.

5 years agonetwork: fix memleak in routing policy
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.

5 years agonetwork: fix memleak in static prefix
Yu Watanabe [Thu, 1 Nov 2018 12:46:36 +0000 (21:46 +0900)] 
network: fix memleak in static prefix

Fixes #10608.

5 years agonetwork: fix segfault in manager_free()
Yu Watanabe [Thu, 1 Nov 2018 11:21:26 +0000 (20:21 +0900)] 
network: fix segfault in manager_free()

Fixes #10605.

5 years agoman: Fix a couple grammatical errors
Matthew Leeds [Wed, 31 Oct 2018 17:09:41 +0000 (10:09 -0700)] 
man: Fix a couple grammatical errors

5 years agonspawn: beef up netns checking a bit, for compat with old kernels
Lennart Poettering [Wed, 31 Oct 2018 12:04:20 +0000 (13:04 +0100)] 
nspawn: beef up netns checking a bit, for compat with old kernels

Fixes: #10544
5 years agoask-password: check keyring in ask_password_tty and ask_password_agent
Xiang Fan [Wed, 24 Oct 2018 10:34:04 +0000 (18:34 +0800)] 
ask-password: check keyring in ask_password_tty and ask_password_agent

A race condition happens when calling ask_password_auto() multiple times
to unlock several disks on boot and effectively no password caching is
utilized. This patch fixes it by polling the cache when waiting for
the password.

5 years agoMerge pull request #10010 from msekletar/cryptsetup-generator-keydev-followups
Lennart Poettering [Wed, 31 Oct 2018 17:26:25 +0000 (18:26 +0100)] 
Merge pull request #10010 from msekletar/cryptsetup-generator-keydev-followups

cryptsetup-generator: keydev support - followups

5 years agonspawn: add proper error message if setns() on network namespace fd fails
Lennart Poettering [Wed, 31 Oct 2018 15:17:22 +0000 (16:17 +0100)] 
nspawn: add proper error message if setns() on network namespace fd fails

Addresses: https://github.com/systemd/systemd/pull/10589#issuecomment-434670595

5 years agoMerge pull request #10573 from faheel/master
Lennart Poettering [Wed, 31 Oct 2018 14:15:41 +0000 (15:15 +0100)] 
Merge pull request #10573 from faheel/master

Convert remaining docs to Markdown

5 years agol10n: Add Lithuanian translation (#10590)
welaq [Wed, 31 Oct 2018 13:53:46 +0000 (15:53 +0200)] 
l10n: Add Lithuanian translation (#10590)

Create lt.po

5 years agopo: drop my copyright
Yu Watanabe [Wed, 31 Oct 2018 11:35:06 +0000 (20:35 +0900)] 
po: drop my copyright

5 years agoMerge pull request #10556 from yuwata/udev-event-cleanup-2
Lennart Poettering [Wed, 31 Oct 2018 11:10:12 +0000 (12:10 +0100)] 
Merge pull request #10556 from yuwata/udev-event-cleanup-2

udev-event: several fixes for previous PR

5 years agonetwork: also monitor udev 'change' event for network interfaces
Yu Watanabe [Wed, 31 Oct 2018 03:35:25 +0000 (12:35 +0900)] 
network: also monitor udev 'change' event for network interfaces

If networkd starts earlier than all network interfaces are initialized,
then uninitialized interfaces are staying in pending state and cannot
become up.
With this, such interfaces are started after receiving 'change' event.

5 years agocore: apply WorkingDirectory after enforce_user
Joerg Behrmann [Tue, 30 Oct 2018 15:01:43 +0000 (16:01 +0100)] 
core: apply WorkingDirectory after enforce_user

If WorkingDirectory is on NFS, root might only have the privileges of
nobody and the chdir to the WorkingDirectory might fail, even if the
user running the service would have the proper privileges to chdir to
that directory.

Fixes #10568

5 years agounits: remove unused busnames.target
Alan Jenkins [Wed, 31 Oct 2018 09:49:29 +0000 (09:49 +0000)] 
units: remove unused busnames.target

I found zero references to busnames.target, using git grep "busnames".
(And we do not install using a wildcard units/*.*.  There is no
busnames.target installed on my Fedora 28 system).

5 years agoMerge pull request #10586 from keszybz/more-copyright-and-license-cleanup
Yu Watanabe [Wed, 31 Oct 2018 10:04:41 +0000 (19:04 +0900)] 
Merge pull request #10586 from keszybz/more-copyright-and-license-cleanup

More copyright and license cleanup

5 years agopo: drop duplicate "This file is distributed under..." lines 10586/head
Zbigniew Jędrzejewski-Szmek [Wed, 31 Oct 2018 08:29:11 +0000 (09:29 +0100)] 
po: drop duplicate "This file is distributed under..." lines

The header already says "LGPL-2.1+", so there is no need to repeat
the same thing more ambiguously.

5 years agoDrop copyright for Marius Vollmer
Zbigniew Jędrzejewski-Szmek [Wed, 31 Oct 2018 08:30:01 +0000 (09:30 +0100)] 
Drop copyright for Marius Vollmer

Ack in #9320.

5 years agoDrop copyright for Piotr Drąg
Zbigniew Jędrzejewski-Szmek [Wed, 31 Oct 2018 08:27:22 +0000 (09:27 +0100)] 
Drop copyright for Piotr Drąg

Ack in #9320.

Also drop some lines with my name.

5 years agopo: Update Turkish translation
Muhammet Kara [Tue, 30 Oct 2018 21:20:03 +0000 (00:20 +0300)] 
po: Update Turkish translation

5 years agodissect: do not store unused devnum 10556/head
Yu Watanabe [Mon, 29 Oct 2018 13:57:38 +0000 (22:57 +0900)] 
dissect: do not store unused devnum

5 years agoudev-event: fix timeout log messages
Yu Watanabe [Mon, 29 Oct 2018 13:37:14 +0000 (22:37 +0900)] 
udev-event: fix timeout log messages

Follow-up for e81c3a4c5fbbea89fe6c1e3d0ace669b8130aa92.

5 years agoudev-event: do not store unused devnum
Yu Watanabe [Mon, 29 Oct 2018 13:45:14 +0000 (22:45 +0900)] 
udev-event: do not store unused devnum

5 years agoudev-event: check whether device has devnum before calling udev_node_remove()
Yu Watanabe [Mon, 29 Oct 2018 03:38:40 +0000 (12:38 +0900)] 
udev-event: check whether device has devnum before calling udev_node_remove()

This fixes a bug in 'remove' event handling, which was introduced by
eb1f9e30ec603ab34631cc3adba1def49485b505, as 'devnum' variable may
not be initialized.

5 years agodanish to Danish (#10584)
scootergrisen [Wed, 31 Oct 2018 00:10:06 +0000 (01:10 +0100)] 
danish to Danish (#10584)

5 years agocatalog: update Polish translation
Piotr Drąg [Mon, 29 Oct 2018 15:44:07 +0000 (16:44 +0100)] 
catalog: update Polish translation

5 years agoMerge pull request #10569 from poettering/various-doc-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 30 Oct 2018 22:55:39 +0000 (23:55 +0100)] 
Merge pull request #10569 from poettering/various-doc-fixes

various man page fixes

5 years agodocs: Update links to updated docs 10573/head
Faheel Ahmad [Tue, 30 Oct 2018 17:31:20 +0000 (23:01 +0530)] 
docs: Update links to updated docs

5 years agocore: don't drop timer expired but not yet processed when system date is changed
Insun [Sun, 28 Oct 2018 12:26:13 +0000 (21:26 +0900)] 
core: don't drop timer expired but not yet processed when system date is changed

There is difference between time set by the user and real elapsed time because of accuracy feature.
If you change the system date(or time) between these times, the timer drops.

You can easily reproduce it with the following command.
-----------------------------------------------------------
$ systemd-run --on-active=3s ls; sleep 3; date -s "`date`"
-----------------------------------------------------------

In the following command, the problem is rarely reproduced. But it exists.
---------------------------------------------------------------------------------------------
$ systemd-run --on-active=3s --timer-property=AccuracySec=1us ls ; sleep 1; date -s "`date`"
---------------------------------------------------------------------------------------------

Note : Global AccuracySec value.
----------------------------------------------------------------------
$ cat /etc/systemd/system.conf
DefaultTimerAccuracySec=1min
----------------------------------------------------------------------

5 years agoMerge pull request #10559 from yuwata/sd-device-prototype-change
Lennart Poettering [Tue, 30 Oct 2018 14:36:52 +0000 (15:36 +0100)] 
Merge pull request #10559 from yuwata/sd-device-prototype-change

sd-device: change prototype of sd_device_get_is_initialized()

5 years agoman: document what "in-memory" units means 10569/head
Lennart Poettering [Mon, 29 Oct 2018 20:09:57 +0000 (21:09 +0100)] 
man: document what "in-memory" units means

Fixes: #10338
5 years agoman: document that "list-dependencies --reverse" is pretty incomplete
Lennart Poettering [Mon, 29 Oct 2018 19:49:41 +0000 (20:49 +0100)] 
man: document that "list-dependencies --reverse" is pretty incomplete

Fixes: #9681
5 years agoman: emphasize the ReadOnlyPaths= mount propagation "hole"
Lennart Poettering [Mon, 29 Oct 2018 19:45:04 +0000 (20:45 +0100)] 
man: emphasize the ReadOnlyPaths= mount propagation "hole"

This changes the ProtectSystem= documentation to refer in more explicit
words to the restrictions of ReadOnlyPath=, as sugegsted in #9857.

THis also extends the paragraph in ReadOnlyPath= that explains the hole.

Fixes: #9857
5 years agoman: document that various sandboxing settings are not available in --user services
Lennart Poettering [Mon, 29 Oct 2018 19:24:06 +0000 (20:24 +0100)] 
man: document that various sandboxing settings are not available in --user services

This is brief and doesn't go into detail, but should at least indicate
to those searching for it that some stuff is not available.

Fixes: #9870
5 years agoman: document relationship of .socket units and network namespaces
Lennart Poettering [Mon, 29 Oct 2018 19:20:37 +0000 (20:20 +0100)] 
man: document relationship of .socket units and network namespaces

Fixes: #10018
5 years agoman: don't claim that AssertXYZ= expressions failing had an effect on unit state
Lennart Poettering [Mon, 29 Oct 2018 19:07:22 +0000 (20:07 +0100)] 
man: don't claim that AssertXYZ= expressions failing had an effect on unit state

In the documentation for ConditionXYZ= we claimed that AssertXYZ= would
have an effect on unit state (which is wrong), while at the
documentation for AssertXYZ= we said it only has an effect on the job,
but not the unit (which is right). Let's fix this contradiction, and
only claim the latter.

Also, fix a couple of other things (for example, stop talking about a
"failure state", but let's just expressly called it "the 'failed' state",
as that's the actual name of that state.

Finally, let's emphasize again when the conditions/assertions are
executed, and that they hence are not useful to conditionalize deps.

Fixes: #10433
5 years agoman: document that "systemctl reset-failed" also reset the start limit counters
Lennart Poettering [Mon, 29 Oct 2018 18:55:27 +0000 (19:55 +0100)] 
man: document that "systemctl reset-failed" also reset the start limit counters

Fixes: #10529
5 years agocore: skip unit deserialization and move to the next one when unit_deserialize()...
Franck Bui [Tue, 30 Oct 2018 07:05:02 +0000 (08:05 +0100)] 
core: skip unit deserialization and move to the next one when unit_deserialize() fails

If unit_deserialize() fails (because one read line is overly long), it returns
an error and we would have assumed that the next read would point to the next
unit to deserialize.

But instead unit_deserialize() can leave the file offset in the middle of a
line.

Therefore we need to ignore and skip the current unit in this case too.

While at it, move unit deserialization in a dedicated functions. That should
make the code easier to read.

5 years agoMerge pull request #10563 from keszybz/lz4-quickfix-quickfix
Lennart Poettering [Tue, 30 Oct 2018 13:51:55 +0000 (14:51 +0100)] 
Merge pull request #10563 from keszybz/lz4-quickfix-quickfix

journal: adapt for new improved LZ4_decompress_safe_partial()

5 years agodocs: Convert HACKING to Markdown
Faheel Ahmad [Tue, 30 Oct 2018 10:28:58 +0000 (15:58 +0530)] 
docs: Convert HACKING to Markdown

Also fix minor grammatical errors

5 years agodocs: Convert CODING_STYLE to Markdown
Faheel Ahmad [Tue, 30 Oct 2018 10:28:44 +0000 (15:58 +0530)] 
docs: Convert CODING_STYLE to Markdown

Also fix minor grammatical errors

5 years agofuzz-compress: add fuzzer for compression and decompression 10563/head
Zbigniew Jędrzejewski-Szmek [Tue, 30 Oct 2018 08:02:26 +0000 (09:02 +0100)] 
fuzz-compress: add fuzzer for compression and decompression

5 years agojournal: adapt for new improved LZ4_decompress_safe_partial()
Zbigniew Jędrzejewski-Szmek [Mon, 29 Oct 2018 13:55:33 +0000 (14:55 +0100)] 
journal: adapt for new improved LZ4_decompress_safe_partial()

With lz4 1.8.3, this function can now decompress partial results into a smaller
buffer. The release news don't say anything interesting, but the test case that
was previously failing now works OK.

Fixes #10259.

A test is added. It shows that with *older* lz4, a partial decompression can
occur with the returned size smaller then the requested number of bytes _and_
smaller then the size of the compressed data:

(lz4-libs-1.8.2-1.fc29.x86_64)
Compressed 4194304 → 16464
Decompressed → 4194304
Decompressed partial 12/4194304 → 4194304
Decompressed partial 1/1 → -2 (bad)
Decompressed partial 2/2 → -2 (bad)
Decompressed partial 3/3 → -2 (bad)
Decompressed partial 4/4 → -2 (bad)
Decompressed partial 5/5 → -2 (bad)
Decompressed partial 6/6 → 6 (good)
Decompressed partial 7/7 → 6 (good)
Decompressed partial 8/8 → 6 (good)
Decompressed partial 9/9 → 6 (good)
Decompressed partial 10/10 → 6 (good)
Decompressed partial 11/11 → 6 (good)
Decompressed partial 12/12 → 6 (good)
Decompressed partial 13/13 → 6 (good)
Decompressed partial 14/14 → 6 (good)
Decompressed partial 15/15 → 6 (good)
Decompressed partial 16/16 → 6 (good)
Decompressed partial 17/17 → 6 (good)
Decompressed partial 18/18 → -16459 (bad)

(lz4-libs-1.8.3-1.fc29.x86_64)
Compressed 4194304 → 16464
Decompressed → 4194304
Decompressed partial 12/4194304 → 12
Decompressed partial 1/1 → 1 (good)
Decompressed partial 2/2 → 2 (good)
Decompressed partial 3/3 → 3 (good)
Decompressed partial 4/4 → 4 (good)
...

If we got such a short "successful" decompression in decompress_startswith() as
implemented before this patch, we could be confused and return a false negative
result. But it turns out that this only occurs with small output buffer
sizes. We use greedy_realloc() to manager the buffer, so it is always at least
64 bytes. I couldn't hit a case where decompress_startswith() would actually
return a bogus result. But since the lack of proof is not conclusive, the code
for *older* lz4 is changed too, just to be safe. We cannot rule out that on a
different architecture or with some unlucky compressed string we could hit this
corner case.

The fallback code is guarded by a version check. The check uses a function not
the compile-time define, because there was no soversion bump in lz4 or new
symbols, and we could be compiled against a newer lz4 and linked at runtime
with an older one. (This happens routinely e.g. when somebody upgrades a subset
of distro packages.)

5 years agohwdb: Apply the same quirk to all the lis3lv02d devices
Bastien Nocera [Mon, 29 Oct 2018 13:31:39 +0000 (13:31 +0000)] 
hwdb: Apply the same quirk to all the lis3lv02d devices

HP laptops and desktop containing the lis3lv02d device (as supported by
the drivers/platform/x86/hp_accel.c driver) are supposed to output their
values according to their "standard" orientation, one that
corresponds to "can play neverball".

For all those devices, we need to convert that "neverball" orientation
to a "Windows 8" orientation. We will not accept quirks for HP machines
that use the lis3lv02d device, they should go in the hp_accel.c driver
instead.

Closes: #5160
5 years agohwdb: add a click angle entry for the Logitech MX Anywhere 2s
Peter Hutterer [Mon, 29 Oct 2018 03:45:45 +0000 (13:45 +1000)] 
hwdb: add a click angle entry for the Logitech MX Anywhere 2s

5 years agotest-compress: add test for short decompress_startswith calls
Zbigniew Jędrzejewski-Szmek [Mon, 29 Oct 2018 21:21:28 +0000 (22:21 +0100)] 
test-compress: add test for short decompress_startswith calls

I thought this might fail with lz4 < 1.8.3, but it seems that because of
greedy_realloc, we always use a buffer that is large enough, and it always
passes.

5 years agocryptsetup-generator: allow whitespace characters in keydev specification 10010/head
Michal Sekletar [Tue, 4 Sep 2018 18:03:34 +0000 (20:03 +0200)] 
cryptsetup-generator: allow whitespace characters in keydev specification

For example, <luks.uuid>=/keyfile:LABEL="KEYFILE FS" previously wouldn't
work, because we truncated label at the first whitespace character,
i.e. LABEL="KEYFILE".

5 years agocryptsetup-generator: don't return error if target directory already exists
Michal Sekletar [Tue, 4 Sep 2018 17:51:14 +0000 (19:51 +0200)] 
cryptsetup-generator: don't return error if target directory already exists

5 years agoMerge pull request #10564 from evverx/lldp-fuzzer
Yu Watanabe [Mon, 29 Oct 2018 22:54:20 +0000 (07:54 +0900)] 
Merge pull request #10564 from evverx/lldp-fuzzer

 tests: add an lldp fuzzer

5 years agoDrop support for lz4 < 1.3.0
Zbigniew Jędrzejewski-Szmek [Mon, 29 Oct 2018 17:32:51 +0000 (18:32 +0100)] 
Drop support for lz4 < 1.3.0

lz4-r130 was released on May 29th, 2015. Let's drop the work-around for older
versions. In particular, we won't test any new code against those ancient
releases, so we shouldn't pretend they are supported.

5 years agodoc: spell initramfs properly (#10566)
dkg [Mon, 29 Oct 2018 17:28:11 +0000 (13:28 -0400)] 
doc: spell initramfs properly (#10566)

5 years agotests: add an lldp fuzzer 10564/head
Evgeny Vereshchagin [Mon, 29 Oct 2018 15:24:16 +0000 (15:24 +0000)] 
tests: add an lldp fuzzer

I went through my antique collection of fuzzers the other day
to see which ones I hadn't sent upstream yet. This one
seems to be nice to have and ready to be merged. As far as I can
tell, it hasn't managed to find anything useful yet,
but it's better to be safe than sorry especially when it comes to networking
code :-)

5 years agojournal: drop an unused variable clang is complaining about
Evgeny Vereshchagin [Mon, 29 Oct 2018 15:21:58 +0000 (15:21 +0000)] 
journal: drop an unused variable clang is complaining about

../../src/systemd/src/journal/journal-file.c:3592:30: warning: unused variable 'p' [-Wunused-variable]
        _cleanup_free_ char *p = NULL;
                             ^
1 warning generated.

This is a follow-up to 681276589159fa08e0a.