chiark / gitweb /
8 years agonss-myhostname: move NSS boilerplate to nss-util.h
Lennart Poettering [Thu, 10 Jul 2014 21:33:55 +0000 (23:33 +0200)]
nss-myhostname: move NSS boilerplate to nss-util.h

8 years agomachinectl: show network interface name for containers
Lennart Poettering [Thu, 10 Jul 2014 21:12:32 +0000 (23:12 +0200)]
machinectl: show network interface name for containers

Also, append the if indexes as scope field to the addresses we show.
That way they may be used for connecting to the containers directly.

8 years agonspawn: register external network interface with machined
Lennart Poettering [Thu, 10 Jul 2014 20:48:30 +0000 (22:48 +0200)]
nspawn: register external network interface with machined

8 years agomachined: allow registering host-side network interfaces for communication with conta...
Lennart Poettering [Thu, 10 Jul 2014 20:47:55 +0000 (22:47 +0200)]
machined: allow registering host-side network interfaces for communication with containers

8 years agonetworkd: always prefer dhcp routes over ipv4ll routes
Lennart Poettering [Thu, 10 Jul 2014 19:32:44 +0000 (21:32 +0200)]
networkd: always prefer dhcp routes over ipv4ll routes

8 years agomachined: when querying addresses of a container, use same code as nss-myhostname...
Lennart Poettering [Thu, 10 Jul 2014 19:27:14 +0000 (21:27 +0200)]
machined: when querying addresses of a container, use same code as nss-myhostname uses

8 years agolibsystemd: make use of our common sockaddr_union everywhere
Lennart Poettering [Thu, 10 Jul 2014 19:16:40 +0000 (21:16 +0200)]
libsystemd: make use of our common sockaddr_union everywhere

8 years agoshared: split out in_addr related calls from socket-util.[ch] into its private in...
Lennart Poettering [Thu, 10 Jul 2014 19:15:26 +0000 (21:15 +0200)]
shared: split out in_addr related calls from socket-util.[ch] into its private in-addr-util.[ch]

These are enough calls for a new file, and they are sufficiently
different from the sockaddr-related calls, hence let's split this out.

8 years agonss-myhostname: move local address listing logic into shared, so that we can make...
Lennart Poettering [Thu, 10 Jul 2014 19:01:25 +0000 (21:01 +0200)]
nss-myhostname: move local address listing logic into shared, so that we can make use of it from machined

8 years agonss-myhostname: only export the NSS entry point symbols, nothing else
Lennart Poettering [Thu, 10 Jul 2014 18:38:07 +0000 (20:38 +0200)]
nss-myhostname: only export the NSS entry point symbols, nothing else

8 years agomachined: various modernizations when enumerating container addresses
Lennart Poettering [Thu, 10 Jul 2014 18:21:20 +0000 (20:21 +0200)]
machined: various modernizations when enumerating container addresses

8 years agonss-myhostname: following the usual naming scheme for .c/.h files
Lennart Poettering [Thu, 10 Jul 2014 18:12:07 +0000 (20:12 +0200)]
nss-myhostname: following the usual naming scheme for .c/.h files

8 years agonss-myhostname: various modernizations
Lennart Poettering [Thu, 10 Jul 2014 17:55:53 +0000 (19:55 +0200)]
nss-myhostname: various modernizations

8 years agoresolved: properly free network monitor
Lennart Poettering [Thu, 10 Jul 2014 16:25:51 +0000 (18:25 +0200)]
resolved: properly free network monitor

8 years agoevent: pull in sd-event.h from event-util.h
Lennart Poettering [Thu, 10 Jul 2014 16:25:08 +0000 (18:25 +0200)]
event: pull in sd-event.h from event-util.h

8 years agoupdate TODO
Lennart Poettering [Thu, 10 Jul 2014 16:24:55 +0000 (18:24 +0200)]
update TODO

8 years agosysusers: don't allow control characters in gecos fields
Lennart Poettering [Wed, 9 Jul 2014 17:21:42 +0000 (19:21 +0200)]
sysusers: don't allow control characters in gecos fields

8 years agosysusers: don't allow user names longer than UT_NAMESIZE
Lennart Poettering [Wed, 9 Jul 2014 17:20:58 +0000 (19:20 +0200)]
sysusers: don't allow user names longer than UT_NAMESIZE

As pointed out by Miloslav Trmač it might be a good idea to make sure
that usernames stay with in the utmp-defined limits.

8 years agoupdate TODO
Lennart Poettering [Wed, 9 Jul 2014 17:20:48 +0000 (19:20 +0200)]
update TODO

8 years agounits: make ExecStopPost action part of ExecStart
Michal Sekletar [Tue, 8 Jul 2014 15:42:23 +0000 (17:42 +0200)]
units: make ExecStopPost action part of ExecStart

Currently after exiting rescue shell we isolate default target. User
might want to isolate to some other target than default one. However
issuing systemctl isolate command to desired target would bring system
to default target as a consequence of running ExecStopPost action.

Having common ancestor for rescue shell and possible followup systemctl
default command should fix this. If user exits rescue shell we will
proceed with isolating default target, otherwise, on manual isolate,
parent shell process is terminated and we don't isolate default target,
but target chosen by user.

Suggested-by: Michal Schmidt <>
8 years agotimedated: manage systemd-timesyncd directly instead of lists of alternatives
Kay Sievers [Wed, 9 Jul 2014 12:29:20 +0000 (14:29 +0200)]
timedated: manage systemd-timesyncd directly instead of lists of alternatives

Alternative NTP implementations should add a:
to take over the built-in NTP functionality of systemd.

8 years agohostnamed: update documentation with new "watch" chassis type
Tomasz Torcz [Wed, 9 Jul 2014 11:37:50 +0000 (13:37 +0200)]
hostnamed: update documentation with new "watch" chassis type

8 years agohostnamed: add a new chassis type for watches
Lennart Poettering [Wed, 9 Jul 2014 11:20:05 +0000 (13:20 +0200)]
hostnamed: add a new chassis type for watches

8 years agojournal/compress: improve xz compression performance
Jon Severinsson [Tue, 8 Jul 2014 16:29:46 +0000 (18:29 +0200)]
journal/compress: improve xz compression performance

The new lzma2 compression options at the top of compress_blob_xz are
equivalent to using preset "0", exept for using a 1 MiB dictionary
(the same as preset "1"). This makes the memory usage at most 7.5 MiB
in the compressor, and 1 MiB in the decompressor, instead of the
previous 92 MiB in the compressor and 8 MiB in the decompressor.

According to test-compress-benchmark this commit makes XZ compression
20 times faster, with no increase in compressed data size.
Using more realistic test data (an ELF binary rather than repeating
ASCII letters 'a' through 'z' in order) it only provides a factor 10
speedup, and at a cost if a 10% increase in compressed data size.
But that is still a worthwhile trade-off.

According to test-compress-benchmark XZ compression is still 25 times
slower than LZ4, but the compressed data is one eighth the size.
Using more realistic test data XZ compression is only 18 times slower
than LZ4, and the compressed data is only one quarter the size.

$ ./test-compress-benchmark
XZ: compressed & decompressed 2535300963 bytes in 42.30s (57.15MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.60s (1510.60MiB/s), mean compresion 99.60%, skipped 990 bytes

8 years agofix #ifdef
Ronny Chevalier [Tue, 8 Jul 2014 07:22:25 +0000 (09:22 +0200)]
fix #ifdef

8 years agoupdate .gitignore
Ronny Chevalier [Mon, 7 Jul 2014 08:04:33 +0000 (10:04 +0200)]
update .gitignore

8 years agoescape: move to rootbindir
Michael Biebl [Tue, 8 Jul 2014 19:06:07 +0000 (21:06 +0200)]
escape: move to rootbindir

The systemd-escape utility might be used during early boot (e.g. when
being triggered from udev rules), so move it to rootbindir to support
systems with a split /usr setup.

8 years agoaccelerometer: Don't wait for new data from the sensor
Bastien Nocera [Tue, 8 Jul 2014 16:29:06 +0000 (18:29 +0200)]
accelerometer: Don't wait for new data from the sensor

Instead of waiting for new data from the sensor, which might be
a long time coming, depending on the sensor device, ask the kernel
for the last state for that particular input device.

8 years agoload-fragment: ConditionFirstBoot wants a bool string, not a path
Michal Schmidt [Tue, 8 Jul 2014 15:17:14 +0000 (17:17 +0200)]
load-fragment: ConditionFirstBoot wants a bool string, not a path

8 years agosystemctl: fix visual alignment for lines prefixed with color dots
Michal Schmidt [Tue, 8 Jul 2014 13:17:36 +0000 (15:17 +0200)]
systemctl: fix visual alignment for lines prefixed with color dots

8 years agologind: allow switching to unused VTs via SwitchTo()
David Herrmann [Tue, 8 Jul 2014 10:56:55 +0000 (12:56 +0200)]
logind: allow switching to unused VTs via SwitchTo()

If compositors use the new SwitchTo() logic to map F1-F12, we should allow
them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic
of gettys won't trigger.

Reported-by: Jasper St. Pierre <>
Signed-off-by: David Herrmann <>
8 years agoman: add a mapping for external manpages
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 22:25:54 +0000 (18:25 -0400)]
man: add a mapping for external manpages

It is annoying when we have dead links on fd.o.

Add project='man-pages|die-net|archlinux' to <citerefentry>-ies.

In generated html, add external links to,,

By default, pages in sections 2 and 4 go to man7, since Michael
Kerrisk is the autorative source on kernel related stuff.

The rest of links goes to, because they have the

Except for the pacman stuff, since it seems to be only available from

Poor gummiboot gets no link, because gummitboot(8) ain't to be found
on the net. According to common wisdom, that would mean that it does
not exist. But I have seen Kay using it, so I know it does, and
deserves to be found. Can somebody be nice and put it up somewhere?

8 years agoFix typo
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 22:30:41 +0000 (18:30 -0400)]
Fix typo

8 years agofstab-generator: fix trivial leak
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 22:36:03 +0000 (18:36 -0400)]
fstab-generator: fix trivial leak

8 years agoREADME: add liblz4
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 22:29:19 +0000 (18:29 -0400)]
README: add liblz4

8 years agojournal/compress: fix calls to decompress_blob
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 22:31:10 +0000 (18:31 -0400)]
journal/compress: fix calls to decompress_blob

8 years agoresolved: make use of union in_addr_union in resolved, too
Lennart Poettering [Mon, 7 Jul 2014 21:11:48 +0000 (23:11 +0200)]
resolved: make use of union in_addr_union in resolved, too

8 years agonetworkd: simplify signal handling of SIGTERM/SIGINT
Lennart Poettering [Mon, 7 Jul 2014 21:11:03 +0000 (23:11 +0200)]
networkd: simplify signal handling of SIGTERM/SIGINT

sd-event makes handling SIGTERM/SIGINT a lot easier than it used to,
let's make use of this

8 years agoresolved: make sure SIGTER/SIGINT actually can be caught and processed
Lennart Poettering [Mon, 7 Jul 2014 21:09:02 +0000 (23:09 +0200)]
resolved: make sure SIGTER/SIGINT actually can be caught and processed

8 years agoresolved: let config_parse() open the configuration file for us
Lennart Poettering [Mon, 7 Jul 2014 21:03:17 +0000 (23:03 +0200)]
resolved: let config_parse() open the configuration file for us

8 years agoshared: fix format string for usec_t type
Lennart Poettering [Mon, 7 Jul 2014 20:49:59 +0000 (22:49 +0200)]
shared: fix format string for usec_t type

8 years agoman: document systemd-escape(1)
Lennart Poettering [Mon, 7 Jul 2014 20:48:25 +0000 (22:48 +0200)]
man: document systemd-escape(1)

8 years agoescape: beef up new systemd-escape tool
Lennart Poettering [Mon, 7 Jul 2014 20:23:00 +0000 (22:23 +0200)]
escape: beef up new systemd-escape tool

Add various options for making it easy unescape, or mangle, or format as
template instance or append a suffix.

8 years agoadd new systemd-escape tool
Michael Biebl [Tue, 3 Jun 2014 23:57:11 +0000 (01:57 +0200)]
add new systemd-escape tool

8 years agoupdate TODO
Lennart Poettering [Mon, 7 Jul 2014 19:20:29 +0000 (21:20 +0200)]
update TODO

8 years agodropin: add format attribute and fix a wrong caller
Thomas Hindoe Paaboel Andersen [Mon, 7 Jul 2014 19:40:00 +0000 (21:40 +0200)]
dropin: add format attribute and fix a wrong caller

8 years agofstab-generator: add comma when removed option is in the middle
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 20:10:38 +0000 (16:10 -0400)]
fstab-generator: add comma when removed option is in the middle

xxx,x-systemd.default-timeout=y,zzz was filtered to xxxzzz,
but should be xxx,zzz, of course.

8 years agonetworkd TODO: add more bonding options
Susant Sahani [Fri, 4 Jul 2014 16:19:08 +0000 (21:49 +0530)]
networkd TODO: add more bonding options

Add more bonding option in TODO section

8 years agonetworkd todo : remove tun/tap
Susant Sahani [Fri, 4 Jul 2014 16:17:17 +0000 (21:47 +0530)]
networkd todo : remove tun/tap

Remove tun/tap from todo

8 years agonetworkd: add support for mode
Susant Sahani [Fri, 4 Jul 2014 17:05:02 +0000 (22:35 +0530)]
networkd: add support for mode

This patch adds supports networkd to configure bond mode
during creation via persistent conf. Mode can be configured
with conf param 'Mode'. A new section Bond is added to the
conf to support bond mode.

These modes can be configured now.


Example conf file: test-bond.conf


Test case:
1. start networkd service:

12: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc
noqueue state UNKNOWN mode DEFAULT group default
link/ether 22:89:6c:47:23:d2 brd ff:ff:ff:ff:ff:ff

2. find bond mode:

cat /proc/net/bonding/bond1
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    Bonding Mode: load balancing (xor)
    Transmit Hash Policy: layer2 (0)
    MII Status: up
    MII Polling Interval (ms): 0
    Up Delay (ms): 0
    Down Delay (ms): 0

       1. Added file networkd-bond.c
       2. Bond mode enum BondMode
       3. conf section [Bond]

[tomegun: whitespace]

8 years agonetworkd veth: Make kind assert
Susant Sahani [Mon, 7 Jul 2014 16:37:39 +0000 (22:07 +0530)]
networkd veth: Make kind assert

It's more appropriate to make it's assert than -ENOTSUP

8 years agoupdate TODO
Lennart Poettering [Mon, 7 Jul 2014 19:07:23 +0000 (21:07 +0200)]
update TODO

8 years agofirstboot: get rid of firstboot generator again, introduce ConditionFirstBoot= instead
Lennart Poettering [Mon, 7 Jul 2014 17:25:31 +0000 (19:25 +0200)]
firstboot: get rid of firstboot generator again, introduce ConditionFirstBoot= instead

As Zbigniew pointed out a new ConditionFirstBoot= appears like the nicer
way to hook in systemd-firstboot.service on first boots (those with /etc
unpopulated), so let's do this, and get rid of the generator again.

8 years agofirstboot: follow lock protocol when changing /etc/shadow
Lennart Poettering [Mon, 7 Jul 2014 16:57:09 +0000 (18:57 +0200)]
firstboot: follow lock protocol when changing /etc/shadow

8 years agoman: document systemd-firstboot(1)
Lennart Poettering [Mon, 7 Jul 2014 16:45:53 +0000 (18:45 +0200)]
man: document systemd-firstboot(1)

8 years agoman: drop references to the --priviliged command line option which has been removed...
Lennart Poettering [Mon, 7 Jul 2014 16:45:07 +0000 (18:45 +0200)]
man: drop references to the --priviliged command line option which has been removed a while back

8 years agobase-filesystem.c: terminate string array elements with \0
Harald Hoyer [Mon, 7 Jul 2014 15:45:53 +0000 (17:45 +0200)]
base-filesystem.c: terminate string array elements with \0

NULSTR_FOREACH() looks for a terminating zero and the element also needs

8 years agoservice: flush status text and errno values each time a service is started
Lennart Poettering [Mon, 7 Jul 2014 15:33:46 +0000 (17:33 +0200)]
service: flush status text and errno values each time a service is started

We shouldn't show status texts from previous service starts

8 years agosystemctl: show StatusErrno value in "systemctl status"
Lennart Poettering [Mon, 7 Jul 2014 15:33:26 +0000 (17:33 +0200)]
systemctl: show StatusErrno value in "systemctl status"

8 years agoservice: don't accept negative ERRNO= notification messages
Lennart Poettering [Mon, 7 Jul 2014 15:32:44 +0000 (17:32 +0200)]
service: don't accept negative ERRNO= notification messages

8 years agoservice: minor modernization
Lennart Poettering [Mon, 7 Jul 2014 15:03:34 +0000 (17:03 +0200)]
service: minor modernization

8 years agocore: Added support for ERRNO NOTIFY_SOCKET message parsing, and added StatusErrno...
Miguel Angel Ajo [Mon, 7 Jul 2014 12:20:36 +0000 (14:20 +0200)]
core: Added support for ERRNO NOTIFY_SOCKET message parsing, and added StatusErrno dbus property along StatusText to allow notification of numeric status condition while degraded service operation or any other special situation.

8 years agofirstboot: change /etc/shadow access mode to 000
Lennart Poettering [Mon, 7 Jul 2014 14:54:09 +0000 (16:54 +0200)]
firstboot: change /etc/shadow access mode to 000

It appears to be customary to remove all access bits from /etc/shadow
including those for the root owner), hence let's do the same.

8 years agodhcp-network: make clear that we are ANDing Fragment offset field with mask
Michal Sekletar [Mon, 7 Jul 2014 13:27:24 +0000 (15:27 +0200)]
dhcp-network: make clear that we are ANDing Fragment offset field with mask

Reading BPF assembly written as C macros is inherently difficult. Don't
make it harder than necessary and provide clearer explanation in the

8 years agodhcp-network: ignore IP packets with More Fragments (MF) flag set
Michal Sekletar [Mon, 7 Jul 2014 12:15:41 +0000 (14:15 +0200)]
dhcp-network: ignore IP packets with More Fragments (MF) flag set

We already ignore IP fragments, because we expect that Fragment
offset (FO) field is not set. However first fragment in a fragmented IP
flow will have all zeroes in FO field. We should ignore such packet as
well, thus we need to look at MF flag in the IP header. Checking MF flag
will filter out all except last packet in fragmented flows. Last one
will be ruled out by next check for value of FO.

8 years agofirstboot: add new component to query basic system settings on first boot, or when...
Lennart Poettering [Mon, 7 Jul 2014 13:05:37 +0000 (15:05 +0200)]
firstboot: add new component to query basic system settings on first boot, or when creating OS images offline

A new tool "systemd-firstboot" can be used either interactively on boot,
where it will query basic locale, timezone, hostname, root password
information and set it. Or it can be used non-interactively from the
command line when prepareing disk images for booting. When used
non-inertactively the tool can either copy settings from the host, or
take settings on the command line.

$ systemd-firstboot --root=/path/to/my/new/root --copy-locale --copy-root-password --hostname=waldi

The tool will be automatically invoked (interactively) now on first boot
if /etc is found unpopulated.

This also creates the infrastructure for generators to be notified via
an environment variable whether they are running on the first boot, or

8 years agoarchitecture: add string table entries for mips-le archs which were missing
Lennart Poettering [Mon, 7 Jul 2014 12:59:06 +0000 (14:59 +0200)]
architecture: add string table entries for mips-le archs which were missing

8 years agoman: chroot jails are no longer detected by ConditionVirtualization=
Lennart Poettering [Mon, 7 Jul 2014 12:58:36 +0000 (14:58 +0200)]
man: chroot jails are no longer detected by ConditionVirtualization=

8 years agoman: add missing archs to ConditionArchitecture= description
Lennart Poettering [Mon, 7 Jul 2014 12:58:13 +0000 (14:58 +0200)]
man: add missing archs to ConditionArchitecture= description

8 years agofileio: simplify write_env_file()
Lennart Poettering [Mon, 7 Jul 2014 10:05:41 +0000 (12:05 +0200)]
fileio: simplify write_env_file()

8 years agoutil: don't consider tabs special in string_has_cc() anymore
Lennart Poettering [Mon, 7 Jul 2014 10:04:55 +0000 (12:04 +0200)]
util: don't consider tabs special in string_has_cc() anymore

Instead, take a list of exceptions to our usual CC check

8 years agoshared: make timezone and locale enumeration and validation generic
Lennart Poettering [Mon, 7 Jul 2014 09:49:48 +0000 (11:49 +0200)]
shared: make timezone and locale enumeration and validation generic

This way we can reuse it other code thatn just localectl/localed +

8 years agoupdate TODO
Lennart Poettering [Mon, 7 Jul 2014 09:48:06 +0000 (11:48 +0200)]
update TODO

8 years agomain: explain our /etc empty check a bit in a comment
Lennart Poettering [Mon, 7 Jul 2014 09:47:46 +0000 (11:47 +0200)]
main: explain our /etc empty check a bit in a comment

8 years agoutil: consider 0x7F a control chracter (which it is: DEL)
Lennart Poettering [Mon, 7 Jul 2014 09:47:10 +0000 (11:47 +0200)]
util: consider 0x7F a control chracter (which it is: DEL)

Let's better be safe than sorry.

8 years agoudev: link_config - ignore errors due to missing MAC address
Tom Gundersen [Mon, 7 Jul 2014 12:50:16 +0000 (14:50 +0200)]
udev: link_config - ignore errors due to missing MAC address

Otherwis, we get misleading error messages on links with MACs.

Reported by Leonid Isaev.

8 years agovconsole-setup: fix inverted error messages
Zbigniew Jędrzejewski-Szmek [Mon, 7 Jul 2014 12:55:30 +0000 (08:55 -0400)]
vconsole-setup: fix inverted error messages

Introduced in abee28c56d.

Pointed-out-by: Werner Fink <>
8 years agoman: network - document Peer key
Tom Gundersen [Mon, 7 Jul 2014 12:24:07 +0000 (14:24 +0200)]
man: network - document Peer key

8 years agonetworkd: netdev - add missing refs
Tom Gundersen [Mon, 7 Jul 2014 12:18:26 +0000 (14:18 +0200)]
networkd: netdev - add missing refs

Without this, the underlying device would get freed (and hence

8 years agonetworkd: add support for peer address
Susant Sahani [Mon, 7 Jul 2014 09:28:56 +0000 (14:58 +0530)]
networkd: add support for peer address

This patch adds peer address support for
networkd . In the  [Address]  a new configurable
param is Peer.



8 years agodhcp-network: add check for DHCP.chaddr
Michal Sekletar [Thu, 19 Jun 2014 13:14:14 +0000 (15:14 +0200)]
dhcp-network: add check for DHCP.chaddr

Check that received DHCP packets actually include our MAC address in
chaddr field. BPF interpreter has 32 bit wide registers but MAC address
is 48 bits long so we have to do check in two steps.

8 years agocoredumpctl: show a useful error on permission problems
Zbigniew Jędrzejewski-Szmek [Sun, 6 Jul 2014 22:35:46 +0000 (18:35 -0400)]
coredumpctl: show a useful error on permission problems

8 years agocompress: add benchmark-style test
Zbigniew Jędrzejewski-Szmek [Sat, 5 Jul 2014 18:29:56 +0000 (14:29 -0400)]
compress: add benchmark-style test

This is useful to test the behaviour of the compressor for various buffer

Time is limited to a minute per compression, since otherwise, when LZ4
takes more than a second which is necessary to reduce the noise, XZ
takes more than 10 minutes.

% build/test-compress-benchmark (without time limit)
XZ: compressed & decompressed 2535300963 bytes in 794.57s (3.04MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.56s (1550.07MiB/s), mean compresion 99.60%, skipped 990 bytes

% build/test-compress-benchmark (with time limit)
XZ: compressed & decompressed 174321481 bytes in 60.02s (2.77MiB/s), mean compresion 99.76%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.63s (1480.83MiB/s), mean compresion 99.60%, skipped 990 bytes

 It appears that there's a bug in lzma_end where it leaks 32 bytes.

8 years agojournal: add LZ4 as optional compressor
Zbigniew Jędrzejewski-Szmek [Fri, 4 Jul 2014 02:42:22 +0000 (22:42 -0400)]
journal: add LZ4 as optional compressor

Add liblz4 as an optional dependency when requested with --enable-lz4,
and use it in preference to liblzma for journal blob and coredump
compression. To retain backwards compatibility, XZ is used to
decompress old blobs.

Things will function correctly only with lz4-119.

Based on the benchmarks found on the web, lz4 seems to be the best
choice for "quick" compressors atm.

For pkg-config status, see

8 years agojournal/compress: return early in uncompress_startswith
Zbigniew Jędrzejewski-Szmek [Fri, 4 Jul 2014 23:53:58 +0000 (19:53 -0400)]
journal/compress: return early in uncompress_startswith

uncompress_startswith would always decode the whole stream, even
if it did not start with the given prefix.

Reallocation policy was also strange.

8 years agovconsole-setup: run setfont before loadkeys
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jul 2014 02:20:11 +0000 (22:20 -0400)]
vconsole-setup: run setfont before loadkeys

8 years agosysusers: fix uninitialized warning
Ronny Chevalier [Sun, 6 Jul 2014 11:33:38 +0000 (13:33 +0200)]
sysusers: fix uninitialized warning

8 years agomachine: don't return uninitialized variable
Tom Gundersen [Sun, 6 Jul 2014 12:12:28 +0000 (14:12 +0200)]
machine: don't return uninitialized variable

Repotred by Ronny Chevalier

8 years agoman: document nspawn's new --volatile switch
Lennart Poettering [Fri, 4 Jul 2014 10:17:12 +0000 (12:17 +0200)]
man: document nspawn's new --volatile switch

8 years agonetworkd: accept section DHCP in files
Steven Noonan [Fri, 4 Jul 2014 02:42:19 +0000 (19:42 -0700)]
networkd: accept section DHCP in files

8 years agonetworkd: don't clear dhcpv6 lease timers if there's no previous lease
Steven Noonan [Fri, 4 Jul 2014 02:43:56 +0000 (19:43 -0700)]
networkd: don't clear dhcpv6 lease timers if there's no previous lease

If client->lease is NULL, dhcp6_lease_clear_timers will cause a segmentation

8 years agonspawn: add new --volatile switch for booting containers in volatile (ephemeral)...
Lennart Poettering [Fri, 4 Jul 2014 01:22:33 +0000 (03:22 +0200)]
nspawn: add new --volatile switch for booting containers in volatile (ephemeral) mode

Two modes are supported: --volatile=yes mounts only /usr into the
container, and a tmpfs as root directory. --volatile=state mounts the
full OS tree in, but overmounts /var with a tmpfs.

--volatile=yes hence boots with an unpopulated /etc and /var, starting
with pristine configuration and state.

--volatile=state hence boots with an unpopulated /var, only starting
with pristine state.

8 years agomain: change check whether /etc is unpopulated to look for /etc/machine-id
Lennart Poettering [Fri, 4 Jul 2014 01:13:05 +0000 (03:13 +0200)]
main: change check whether /etc is unpopulated to look for /etc/machine-id

Previously, we checked whether /etc was completely empty. This makes it
difficult though for container managers such as nspawn to install a
small number of files (such as /etc/timezone), and have the system
otherwise populate its own tree.

Hence, change this by looking for /etc/machine-id, which should be a
good sign whether /etc is populated or not.

8 years agounits: conditionalize configfs and debugfs with CAP_SYS_RAWIO
Lennart Poettering [Fri, 4 Jul 2014 01:10:09 +0000 (03:10 +0200)]
units: conditionalize configfs and debugfs with CAP_SYS_RAWIO

We really don't want these in containers as they provide a too lowlevel
look on the system.

Conditionalize them with CAP_SYS_RAWIO since that's required to access
/proc/kcore, /dev/kmem and similar, which feel similar in style. Also,
npsawn containers lack that capability.

8 years agounits: conditionalize static device node logic on CAP_SYS_MODULES instead of CAP_MKNOD
Lennart Poettering [Fri, 4 Jul 2014 01:07:20 +0000 (03:07 +0200)]
units: conditionalize static device node logic on CAP_SYS_MODULES instead of CAP_MKNOD

npsawn containers generally have CAP_MKNOD, since this is required
to make PrviateDevices= work. Thus, it's not useful anymore to
conditionalize the kmod static device node units.

Use CAP_SYS_MODULES instead which is not available for nspawn
containers. However, the static device node logic is only done for being
able to autoload modules with it, and if we can't do that there's no
point in doing it.

8 years agoman: netdev - mention tun and tap
Tom Gundersen [Thu, 3 Jul 2014 23:26:19 +0000 (01:26 +0200)]
man: netdev - mention tun and tap

Reported by Moviuro <>

8 years agonetworkd: properly track addresses when first added
Tom Gundersen [Thu, 3 Jul 2014 20:47:51 +0000 (22:47 +0200)]
networkd: properly track addresses when first added

When doing a NEWADDR, the reply we get back is the NEWADDR itself, rather
than just an empty ack (unlike how NEWLINK works). For this reason, the
process that did the NEWADDR does not get the broadcast message.

We were only listening for broadcast messages, and hence not tracking the
addresses we added ourselves. This went unnoticed as the kernel will usually
send NEWADDR messages from time to time anyway, so things would mostly work,
but in the worst case we would not notice that a routable address was available
and consider ourselves offline.

8 years agonetworkd: link - improve link tracking logging
Tom Gundersen [Thu, 3 Jul 2014 19:35:03 +0000 (21:35 +0200)]
networkd: link - improve link tracking logging

8 years agoarchitecture: remove "cris" from uname list
Lennart Poettering [Thu, 3 Jul 2014 20:52:44 +0000 (22:52 +0200)]
architecture: remove "cris" from uname list

the only correct name appears to be "crisv32"...

8 years agosd-path: add missing header
Umut Tezduyar Lindskog [Thu, 3 Jul 2014 20:28:29 +0000 (22:28 +0200)]
sd-path: add missing header