networkd: drop routes when lease expires
networkd: smooth transition from ipv4ll to dhcp address

Currently when both ipv4ll and dhcp are enabled, ipv4ll
address (if one has been claimed) is removed when dhcp
address is aquired. This is not the best thing to do
since there might be clients unaware of the removal
trying to communicate.

This patch provides a smooth transition between ipv4ll
and dhcp. If ipv4ll address was claimed [1] before dhcp,
address is marked as deprecated. Deprecated address is still
a valid address and packets can be received on it but address
cannot be selected as a source address. If dhcp lease cannot
be extended, then ipv4ll address is marked as valid again.

[1] If there is no collision, claiming IPv4LL takes between 4 to
7 seconds.
sd-rtnl: fix broken test cases and add support for tunnel

This patch fixes the broken test-cases for sd-rtnl and add support for ipip
and sit tunnel.

[tomegun: minor fixups]
network: default to IPv4LL on host0

Now that we have a graceful handover from IPv4LL to DHCP, there is no longer any reason to leave this off by default.
bash completion: Add -r/--recursive to systemctl
bash_completion: busctl - add support for --user mode
backlight: do nothing if max_brightness is 0

On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded.
It exposes a backlight device despite the lack of any physical backlight
devices. This fake backlight device has max_brightness set to 0. Since
the introduction of the clamp_brightness function, systemd-backlight
tries to write '1' to brightness and fails.

This patch changes systemd-backlight to exit gracefully when
max_brightness is 0 before performing any action. This affects
both the load and save actions.
journalctl: free arg_file on exit
journal: fix export of messages containing newlines

In "export" format, newlines are significant, and messages containing
newlines must be exported as "binary".
logind: remove one cast
systemctl: update NAME to PATTERN in help()

Previously the man page was modified, but not help().
tty-ask-password-agent: return negative errno

Return negative errno in wall_tty_block(). get_ctty_devnr() already
returns a negative errno in case of failure, no need to negate it again.

Reported-by: Simon <hwold@odai.homelinux.net>
Fix a few return codes in error paths
build-sys: add newly used if_link.h defines to missing.h

Reported-by: Arnaud Gaboury <arnaud.gaboury@gmail.com>
systemd-python: use .hex instead of .get_hex()

It turns out the latter got removed in Python 3.

https://bugs.freedesktop.org/show_bug.cgi?id=77086
systemd-python: fix failing assert

A parameter which was always null before, now get's set to
the module.
reduce the amount of messages logged to /dev/kmsg when "debug" is specified
journal-remote-parse: avoid passing null to memchr

Found with scan-build
udev: net_id - use constants rather than magic numbers
sd-dhcp-client: move magic cookie into DHCPMessage struct

Also move the checking of it to the main message handler, rather than the
options parser.

Fix a bug, so we now drop the packet if any of the magic bytes don't match.
Before we used to only drop the packet if they were all wrong.