chiark / gitweb /
7 years agotest: add test for hashmap_reserve()
Michal Schmidt [Tue, 14 Oct 2014 22:30:54 +0000 (00:30 +0200)]
test: add test for hashmap_reserve()

7 years agohashmap: introduce hashmap_reserve()
Michal Schmidt [Tue, 14 Oct 2014 21:35:24 +0000 (23:35 +0200)]
hashmap: introduce hashmap_reserve()

With the current hashmap implementation that uses chaining, placing a
reservation can serve two purposes:
 - To optimize putting of entries if the number of entries to put is
   known. The reservation allocates buckets, so later resizing can be
 - To avoid having very long bucket chains after using

In an alternative hashmap implementation it will serve an additional
 - To guarantee a subsequent hashmap_move(_one) will not fail with
   -ENOMEM (this never happens in the current implementation).

7 years agohashmap: return more information from resize_buckets()
Michal Schmidt [Tue, 14 Oct 2014 22:36:45 +0000 (00:36 +0200)]
hashmap: return more information from resize_buckets()

Return 0 if no resize was needed, 1 if successfully resized and
negative on error.

7 years agoshared: split mempool implementation from hashmaps
Michal Schmidt [Tue, 12 Aug 2014 21:35:23 +0000 (23:35 +0200)]
shared: split mempool implementation from hashmaps

7 years agoresolve: make DnsScope::conflict_queue an OrderedHashmap
Michal Schmidt [Fri, 22 Aug 2014 11:56:51 +0000 (13:56 +0200)]
resolve: make DnsScope::conflict_queue an OrderedHashmap

on_conflict_dispatch() uses hashmap_steal_first() and then does
something non-trivial with it. It may care about the order.

7 years agosd-bus: make sd_bus::reply_callbacks a OrderedHashmap
Michal Schmidt [Tue, 14 Oct 2014 16:27:55 +0000 (18:27 +0200)]
sd-bus: make sd_bus::reply_callbacks a OrderedHashmap

The way process_closing() picks the first entry from reply_callbacks
and works with it makes it likely that it cares about the order.

7 years agojournal: make sd_journal::files a OrderedHashmap
Michal Schmidt [Tue, 19 Aug 2014 11:38:53 +0000 (13:38 +0200)]
journal: make sd_journal::files a OrderedHashmap

Anything that uses hashmap_next() almost certainly cares about the order
and needs to be an OrderedHashmap.

7 years agojournal: make Server::user_journals an OrderedHashmap
Michal Schmidt [Fri, 22 Aug 2014 11:44:14 +0000 (13:44 +0200)]
journal: make Server::user_journals an OrderedHashmap

Order matters here. It replaces oldest entries first when

7 years agojournal: make JournalFile::chain_cache an OrderedHashmap
Michal Schmidt [Tue, 14 Oct 2014 15:58:13 +0000 (17:58 +0200)]
journal: make JournalFile::chain_cache an OrderedHashmap

The order of entries may matter here. Oldest entries are evicted first
when the cache is full.

(Though I don't see anything to rejuvenate entries on cache hits.)

7 years agoinstall: make InstallContext::{will_install,have_installed} OrderedHashmaps
Michal Schmidt [Fri, 22 Aug 2014 08:35:59 +0000 (10:35 +0200)]
install: make InstallContext::{will_install,have_installed} OrderedHashmaps

It appears order may matter here. Use OrderedHashmaps to be safe.

7 years agohashmap: drop assert(h) from hashmap_next()
Michal Schmidt [Fri, 10 Oct 2014 21:30:21 +0000 (23:30 +0200)]
hashmap: drop assert(h) from hashmap_next()

It's handled just fine by returning NULL.

7 years agohashmap: hashmap_move_one() should return -ENOENT when 'other' is NULL
Michal Schmidt [Mon, 13 Oct 2014 16:14:07 +0000 (18:14 +0200)]
hashmap: hashmap_move_one() should return -ENOENT when 'other' is NULL

-ENOENT is the same return value as if 'other' were an allocated hashmap
that does not contain the key. A NULL hashmap is a possible way of
expressing a hashmap that contains no key.

7 years agotest: add and improve hashmap tests
Michal Schmidt [Wed, 15 Oct 2014 09:06:08 +0000 (11:06 +0200)]
test: add and improve hashmap tests

Test more corner cases and error states in several tests.

Add new tests for:

In test_hashmap_many additionally test with an intentionally bad hash

7 years agotest: generate tests for OrderedHashmap from Hashmap tests
Michal Schmidt [Wed, 15 Oct 2014 09:00:46 +0000 (11:00 +0200)]
test: generate tests for OrderedHashmap from Hashmap tests

test-hashmap-ordered.c is generated from test-hashmap-plain.c simply by
substituting "ordered_hashmap" for "hashmap" etc.

In the cases where tests rely on the order of entries, a distinction
between plain and ordered hashmaps is made using the ORDERED macro,
which is defined only for test-hashmap-ordered.c.

7 years agohashmap: add OrderedHashmap as a distinct type
Michal Schmidt [Mon, 13 Oct 2014 16:11:16 +0000 (18:11 +0200)]
hashmap: add OrderedHashmap as a distinct type

Few Hashmaps/Sets need to remember the insertion order. Most don't care
about the order when iterating. It would be possible to use more compact
hashmap storage in the latter cases.

Add OrderedHashmap as a distinct type from Hashmap, with functions
prefixed with "ordered_". For now, the functions are nothing more than
inline wrappers for plain Hashmap functions.

7 years agomac: also rename use_{smack,selinux,apparmor}() calls so that they share the new...
Lennart Poettering [Thu, 23 Oct 2014 15:34:30 +0000 (17:34 +0200)]
mac: also rename use_{smack,selinux,apparmor}() calls so that they share the new mac_{smack,selinux,apparmor}_xyz() convention

7 years agomac: rename apis with mac_{selinux/smack}_ prefix
WaLyong Cho [Thu, 23 Oct 2014 08:23:46 +0000 (17:23 +0900)]
mac: rename apis with mac_{selinux/smack}_ prefix

7 years agolabel: rearrange mandatory access control(MAC) apis
WaLyong Cho [Thu, 23 Oct 2014 08:23:45 +0000 (17:23 +0900)]
label: rearrange mandatory access control(MAC) apis

move label apis to or appropriately.

7 years agoman: add example how to generate certificates with openssl
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:43:49 +0000 (00:43 -0400)]
man: add example how to generate certificates with openssl

7 years agojournal-upload: return proper exit code
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:31:56 +0000 (23:31 -0500)]
journal-upload: return proper exit code

Even when termninated normally, systemd-journal-upload would return
something positive which would be interpreted as failure.

7 years agoshared/log: add log_trace as compile-time optional debugging
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:27:57 +0000 (23:27 -0500)]
shared/log: add log_trace as compile-time optional debugging

Repetetive messages can be annoying when running with
SYSTEMD_LOG_LEVEL=debug, but they are sometimes very useful
when debugging problems. Add log_trace which is like log_debug
but becomes a noop unless LOG_TRACE is defined during compilation.
This makes it easy to enable very verbose logging for a subset
of programs when compiling from source.

7 years agojournal-upload: fix --trust=all option
Zbigniew Jędrzejewski-Szmek [Wed, 22 Oct 2014 02:32:17 +0000 (22:32 -0400)]
journal-upload: fix --trust=all option

7 years agojournal-upload: avoid calling printf with maximum precision
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:27:25 +0000 (23:27 -0500)]
journal-upload: avoid calling printf with maximum precision

Precision of INT_MAX does not work as I expected it to.

7 years agojournal-upload: verify state file can be saved before uploading
Zbigniew Jędrzejewski-Szmek [Wed, 22 Oct 2014 03:34:29 +0000 (23:34 -0400)]
journal-upload: verify state file can be saved before uploading

Do our best verify that we can actually write the state file
before upload commences to avoid duplicate messages on the server.

7 years agosocket-util: use IP address when hostname is not found
Zbigniew Jędrzejewski-Szmek [Wed, 22 Oct 2014 03:20:59 +0000 (23:20 -0400)]
socket-util: use IP address when hostname is not found

socknameinfo_pretty() would fail for addresses without reverse DNS,
but we do not want that to happen.

7 years agojournal-remote: add --split-mode to help
Zbigniew Jędrzejewski-Szmek [Wed, 22 Oct 2014 01:05:04 +0000 (21:05 -0400)]
journal-remote: add --split-mode to help

7 years agojournal-remote: better error message on failure
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:18:47 +0000 (23:18 -0500)]
journal-remote: better error message on failure

Return a proper code instead of simply NULL for failure.

7 years agojournal-upload: do not require port to be set
Zbigniew Jędrzejewski-Szmek [Sat, 18 Oct 2014 05:36:58 +0000 (01:36 -0400)]
journal-upload: do not require port to be set

7 years agosystemd-upload: print paths in help()
Zbigniew Jędrzejewski-Szmek [Sat, 18 Oct 2014 05:30:54 +0000 (01:30 -0400)]
systemd-upload: print paths in help()

7 years agojournal-remote: give names to event sources
Zbigniew Jędrzejewski-Szmek [Sat, 18 Oct 2014 05:28:37 +0000 (01:28 -0400)]
journal-remote: give names to event sources

This possibility was recently added, and it makes debugging much nicer.

7 years agojournal-upload: fix socket activation
Zbigniew Jędrzejewski-Szmek [Sat, 18 Oct 2014 05:27:10 +0000 (01:27 -0400)]
journal-upload: fix socket activation

7 years agosd-daemon,man: ignore missing $WATCHDOG_PID
Zbigniew Jędrzejewski-Szmek [Tue, 21 Oct 2014 22:44:09 +0000 (18:44 -0400)]
sd-daemon,man: ignore missing $WATCHDOG_PID

Systemd 209 started setting $WATCHDOG_PID, and sd-daemon watch was
modified to check for this variable. This means that
sd_watchdog_enabled() stopped working with previous versions of
systemd. But sd-event is a public library and API and we must keep it
working even when a program compiled with a newer version of the
libary is used on a system running an older version of the manager.

getenv() and unsetenv() are fairly expensive calls, so optimize
sd_watchdog_enabled() by not calling them when unnecessary.

man: centralize the description of $WATCHDOG_PID and $WATCHDOG_USEC in
the sd_watchdog_enabled manpage. It is better not to repeat the same
stuff in two places.

7 years agoman: make udev.event-timeout more visible
Zbigniew Jędrzejewski-Szmek [Thu, 23 Oct 2014 04:12:50 +0000 (23:12 -0500)]
man: make udev.event-timeout more visible

Evidently some people had trouble finding it in the documentation.

7 years agounits: run firstboot before sysusers, so that firstboot can initialize the root password
Lennart Poettering [Wed, 22 Oct 2014 23:24:59 +0000 (01:24 +0200)]
units: run firstboot before sysusers, so that firstboot can initialize the root password

7 years agoupdate TODO
Lennart Poettering [Wed, 22 Oct 2014 23:09:38 +0000 (01:09 +0200)]
update TODO

7 years agoupdate TODO
Lennart Poettering [Wed, 22 Oct 2014 22:52:21 +0000 (00:52 +0200)]
update TODO

7 years agojournalctl: add new --flush command and make use of it in systemd-journal-flush.service
Lennart Poettering [Wed, 22 Oct 2014 22:28:17 +0000 (00:28 +0200)]
journalctl: add new --flush command and make use of it in systemd-journal-flush.service

This new command will ask the journal daemon to flush all log data
stored in /run to /var, and wait for it to complete. This is useful, so
that in case of Storage=persistent we can order systemd-tmpfiles-setup
afterwards, to ensure any possibly newly created directory in /var/log
gets proper access mode and owners.

7 years agocryptsetup: fix an OOM check
Lennart Poettering [Wed, 22 Oct 2014 22:30:04 +0000 (00:30 +0200)]
cryptsetup: fix an OOM check

7 years agomachine: validate machine names using machine_name_is_valid() instead of string_is_safe()
Lennart Poettering [Wed, 22 Oct 2014 21:20:59 +0000 (23:20 +0200)]
machine: validate machine names using machine_name_is_valid() instead of string_is_safe()

After all, we know have this as generic validator, so let's be correct
and use it wherver applicable.

7 years agosd-bus: fix transition left-overs in sd_bus_get_owner_creds()
Daniel Mack [Wed, 22 Oct 2014 20:06:53 +0000 (22:06 +0200)]
sd-bus: fix transition left-overs in sd_bus_get_owner_creds()

sd_bus_get_owner_creds() was only halfly ported over to

7 years agojournal: do server_vacuum for sigusr1
WaLyong Cho [Thu, 28 Aug 2014 12:33:03 +0000 (21:33 +0900)]
journal: do server_vacuum for sigusr1

runtime journal is migrated to system journal when only
"/run/systemd/journal/flushed" exist. It's ok but according to this
the system journal directory size(max use) can be over the config. If
journal is not rotated during some time the journal directory can be
remained as over the config(or default) size. To avoid, do
server_vacuum just after the system journal migration from runtime.

7 years agofirstboot: don't prohibit re-generating the machine id on the current root fs
Lennart Poettering [Wed, 22 Oct 2014 18:29:25 +0000 (20:29 +0200)]
firstboot: don't prohibit re-generating the machine id on the current root fs

If it really is missing it should be safe to create it.

Also see:

7 years agoupdate TODO
Lennart Poettering [Wed, 22 Oct 2014 18:24:16 +0000 (20:24 +0200)]
update TODO

7 years agojournalctl: don't introduce numeric constants with special names, give them names
Lennart Poettering [Wed, 22 Oct 2014 18:23:45 +0000 (20:23 +0200)]
journalctl: don't introduce numeric constants with special names, give them names

7 years agosd-bus: implement sd_bus_get_owner_creds() for kdbus
Daniel Mack [Wed, 22 Oct 2014 17:43:09 +0000 (19:43 +0200)]
sd-bus: implement sd_bus_get_owner_creds() for kdbus

kdbus learned a new ioctl to tell userspace about a bus creator's
credentials, which is what we need to implement sd_bus_get_owner_creds() for

Move the function from sd-bus.c to bus-control.c to be able to reuse
the bus_populate_creds_from_items() helper.

7 years agosd-bus: rename sd_bus_get_owner_uid(), sd_bus_get_owner_machine_id() and sd_bus_get_p...
Daniel Mack [Wed, 22 Oct 2014 17:17:24 +0000 (19:17 +0200)]
sd-bus: rename sd_bus_get_owner_uid(), sd_bus_get_owner_machine_id() and sd_bus_get_peer_creds()

Clean up the function namespace by renaming the following:

  sd_bus_get_owner_uid()        → sd_bus_get_name_creds_uid()
  sd_bus_get_owner_machine_id() → sd_bus_get_name_machine_id()
  sd_bus_get_peer_creds()       → sd_bus_get_owner_creds()

7 years agosd-bus: factor out creds item iterator
Daniel Mack [Wed, 22 Oct 2014 17:04:27 +0000 (19:04 +0200)]
sd-bus: factor out creds item iterator

We will re-use the code to walk items in order to populate a creds object,
so let's factor it out first.

7 years agosd-bus: sync kdbus.h
Daniel Mack [Wed, 22 Oct 2014 16:44:40 +0000 (18:44 +0200)]
sd-bus: sync kdbus.h

kdbus learned a new command to query a bus creator's credentials. Sync
kdbus.h first, which also renames some struct to more generic terms.
That is, however, not an ABI break this time.

7 years agojournald: add CAP_MAC_OVERRIDE in journald for SMACK issue
Juho Son [Thu, 11 Sep 2014 07:06:38 +0000 (16:06 +0900)]
journald: add CAP_MAC_OVERRIDE in journald for SMACK issue

systemd-journald check the cgroup id to support rate limit option for
every messages. so journald should be available to access cgroup node in
each process send messages to journald.
In system using SMACK, cgroup node in proc is assigned execute label
as each process's execute label.
so if journald don't want to denied for every process, journald
should have all of access rule for all process's label.
It's too heavy. so we could give special smack label for journald te get
all accesses's permission.
'^' label.
When assign '^' execute smack label to systemd-journald,
systemd-journald need to add  CAP_MAC_OVERRIDE capability to get that smack privilege.

so I want to notice this information and set default capability to
journald whether system use SMACK or not.
because that capability affect to only smack enabled kernel

7 years agohwdb: Add mapping for special keys on compaq ku 0133 keyboards
Hans de Goede [Wed, 22 Oct 2014 12:09:21 +0000 (14:09 +0200)]
hwdb: Add mapping for special keys on compaq ku 0133 keyboards

The compaq ku 0133 keyboard has 8 special keys at the top:

3 of these use standard HID usage codes from the consumer page, the 5
others use part of the reserved 0x07 - 0x1f range.

This commit adds mapping for this keyboard for these reserved codes, making
the other 5 keys work.

Cc: Hans de Goede <>
Signed-off-by: Hans de Goede <>
7 years agoupdate TODO
Lennart Poettering [Wed, 22 Oct 2014 14:54:06 +0000 (16:54 +0200)]
update TODO

7 years agoresolved: simplify detection of packets from the loopback device
Lennart Poettering [Wed, 22 Oct 2014 14:52:38 +0000 (16:52 +0200)]
resolved: simplify detection of packets from the loopback device

We can simplify our code quite a bit if we explicitly check for the
ifindex being 1 on Linux as a loopback check. Apparently, this is
hardcoded on Linux on the kernel, and effectively exported to userspace
via rtnl and such, hence we should be able to rely on it.

7 years agonetworkd: Fix a couple of typos
Torstein Husebø [Wed, 22 Oct 2014 14:00:46 +0000 (16:00 +0200)]
networkd: Fix a couple of typos

7 years agosd-bus: assert clock_gettime()'s return value
Daniel Mack [Wed, 22 Oct 2014 11:39:51 +0000 (13:39 +0200)]
sd-bus: assert clock_gettime()'s return value

Don't handle clock_gettime() errors gracefully but use assert_se().

7 years agoupdate TODO
Lennart Poettering [Wed, 22 Oct 2014 10:40:49 +0000 (12:40 +0200)]
update TODO

7 years agoREADME: simplify documented dependency on util-linux
Lennart Poettering [Wed, 22 Oct 2014 10:37:08 +0000 (12:37 +0200)]
README: simplify documented dependency on util-linux

we stritcly require features from util-linux v2.25, such a new version
is not optional, hence document this.

7 years agofsck: re-enable fsck -l
Karel Zak [Wed, 22 Oct 2014 08:28:42 +0000 (10:28 +0200)]
fsck: re-enable fsck -l

The -l (lock) has been temporary disabled due to conflict with
udev (

The problem is fixed since util-linux v2.25 (Jul 2014).

7 years agoUpdate TODO
Lennart Poettering [Wed, 22 Oct 2014 09:45:01 +0000 (11:45 +0200)]
Update TODO

7 years agoCODING_STYLE: clarify that single-line if blocks should not be enclosed in {}
Lennart Poettering [Wed, 22 Oct 2014 09:09:00 +0000 (11:09 +0200)]
CODING_STYLE: clarify that single-line if blocks should not be enclosed in {}

7 years agosd-bus: sync kdbus.h (API change: switch to absolute timeouts)
Daniel Mack [Tue, 21 Oct 2014 20:14:03 +0000 (22:14 +0200)]
sd-bus: sync kdbus.h (API change: switch to absolute timeouts)

kdbus_msg.timeout_ns now takes an absolute value, based on CLOCK_MONOTONIC,
in order to eventually support automatically restarted syscalls.

Signed-off-by: Daniel Mack <>
7 years agosd-bus: sync kdbus.h (ABI break)
Daniel Mack [Tue, 21 Oct 2014 17:19:44 +0000 (19:19 +0200)]
sd-bus: sync kdbus.h (ABI break)

In kdbus.h, the following details changed:

 * All commands gained a 'kernel_flags' field to report the flags supported
   by the driver. Before, this was done in the 'flags' field in a
   bidirectional way, which turned out to be a problem for the code in
   sd-bus, as many parts of it reuse the same ioctl struct more than once
   and consider them to be owned by userspace.

 * Name listings are now returned by a new struct instead of reusing struct
   kdbus_cmd_name for that matter. This way, we don't add more unneeded
   fields to it and make the API cleaner.

 * 'conn_flags' was renamed to 'flags' in struct kdbus_cmd_hello to make
   the API a bit more unified.

7 years agostrv: use realloc_multiply() to check for multiplication overflow
Michal Schmidt [Tue, 21 Oct 2014 12:36:03 +0000 (14:36 +0200)]
strv: use realloc_multiply() to check for multiplication overflow

This could overflow on 32bit, where size_t is the same as unsigned.

7 years agostrv: add an additional overflow check when enlarging strv()s
Lennart Poettering [Tue, 21 Oct 2014 12:01:28 +0000 (14:01 +0200)]
strv: add an additional overflow check when enlarging strv()s

7 years agoman: add examples for coredumpctl
Ronny Chevalier [Sat, 11 Oct 2014 22:37:21 +0000 (00:37 +0200)]
man: add examples for coredumpctl

Add examples to clarify how to use coredumpctl


7 years agoman: fix project reference for archlinux
Ronny Chevalier [Sat, 11 Oct 2014 22:37:24 +0000 (00:37 +0200)]
man: fix project reference for archlinux

7 years agoman: add missing commas
Ronny Chevalier [Sat, 11 Oct 2014 22:37:22 +0000 (00:37 +0200)]
man: add missing commas

7 years agoman: move one more nspawn example into a proper <example> section
Lennart Poettering [Mon, 20 Oct 2014 23:11:14 +0000 (01:11 +0200)]
man: move one more nspawn example into a proper <example> section

7 years agoman: use <example> instead of multiple <refsect1> for examples
Ronny Chevalier [Sat, 11 Oct 2014 22:37:23 +0000 (00:37 +0200)]
man: use <example> instead of multiple <refsect1> for examples

7 years agoshared: remove unused functions
Ronny Chevalier [Sat, 11 Oct 2014 16:43:12 +0000 (18:43 +0200)]
shared: remove unused functions

- mkdir_p_prefix: It has never been used
- mkdir_parents_prefix_label: Unused since 1434ae6fd49f8377b0ddbd4c675736e0d3226ea6

7 years agoutil: avoid duplication of TIME_T_MAX
Ronny Chevalier [Sat, 11 Oct 2014 16:45:11 +0000 (18:45 +0200)]
util: avoid duplication of TIME_T_MAX

7 years agoupdate TODO
Lennart Poettering [Mon, 20 Oct 2014 20:03:36 +0000 (22:03 +0200)]
update TODO

7 years agosd-journal: consistently use ternary operator for all direction checks
Christian Hesse [Mon, 13 Oct 2014 20:12:33 +0000 (22:12 +0200)]
sd-journal: consistently use ternary operator for all direction checks

7 years agobus-proxy: let's make use of the translated errors get_creds_by_name() provides us...
Lennart Poettering [Mon, 20 Oct 2014 19:50:37 +0000 (21:50 +0200)]
bus-proxy: let's make use of the translated errors get_creds_by_name() provides us with

7 years agoRevert "bus-proxyd: improve compatibility with dbus-1"
Lennart Poettering [Mon, 20 Oct 2014 19:46:09 +0000 (21:46 +0200)]
Revert "bus-proxyd: improve compatibility with dbus-1"

This reverts commit b0f84d4d7832659f2216bda7a7cdf51f5e79c6eb.

get_creds_by_name() already translate the error nicely, we just need to
make use of it.

7 years agoman: try to reword explanation of Sockets= a bit
Lennart Poettering [Mon, 20 Oct 2014 19:06:14 +0000 (21:06 +0200)]
man: try to reword explanation of Sockets= a bit

7 years agokdbus: free returned buffer when the memory is no longer needed
Lukasz Skalski [Thu, 16 Oct 2014 17:01:12 +0000 (19:01 +0200)]
kdbus: free returned buffer when the memory is no longer needed

7 years agoman: fix localectl set-x11-keymap syntax description
Jan Synacek [Mon, 20 Oct 2014 10:43:39 +0000 (12:43 +0200)]
man: fix localectl set-x11-keymap syntax description

7 years agoupdate TODO
Lennart Poettering [Sat, 18 Oct 2014 14:20:48 +0000 (16:20 +0200)]
update TODO

7 years agoman: document sd_bus_creds_get_connection_name()
Lennart Poettering [Sat, 18 Oct 2014 14:20:36 +0000 (16:20 +0200)]
man: document sd_bus_creds_get_connection_name()

7 years agoman: suffix C functions with ()
Lennart Poettering [Sat, 18 Oct 2014 14:20:24 +0000 (16:20 +0200)]
man: suffix C functions with ()

7 years agoman: document sd_machine_get_class() and sd_machine_get_ifindices()
Lennart Poettering [Sat, 18 Oct 2014 14:06:21 +0000 (16:06 +0200)]
man: document sd_machine_get_class() and sd_machine_get_ifindices()

7 years agosysctl.d: default to fq_codel, fight bufferbloat
Michal Schmidt [Thu, 16 Oct 2014 11:49:04 +0000 (13:49 +0200)]
sysctl.d: default to fq_codel, fight bufferbloat

Quoting from Jon Corbet's report of Stephen Hemminger's talk at Linux
Plumbers Conference 2014 (

    [...] So Stephen encouraged everybody to run a command like:

    sysctl -w net.core.default_qdisc=fq_codel

    That will cause fq_codel to be used for all future connections
    [Qdiscs apply to interfaces, not connections. Pointed out by TomH
    in the article comments. -- mschmidt] (up to the next reboot).
    Unfortunately, the default queuing discipline cannot be changed,
    since it will certainly disturb some user's workload somewhere.

Let's have the recommended default in systemd.

Thanks to Dave Täht for advice and the summary at

7 years agosd-bus: sync kdbus.h (ABI break)
Daniel Mack [Mon, 20 Oct 2014 13:26:00 +0000 (15:26 +0200)]
sd-bus: sync kdbus.h (ABI break)

kdbus.h now has KDBUS_ATTACH_COMM split into KDBUS_ATTACH_TID_COMM and
KDBUS_ATTACH_PID_COMM. The items were split already, so the change in
systemd is easy.

7 years agoshell-completion/bash: add add-wants and add-requires
Lukas Nykryn [Thu, 16 Oct 2014 07:41:02 +0000 (09:41 +0200)]
shell-completion/bash: add add-wants and add-requires

7 years agosd-bus: sync kdbus.h (ABI break)
Daniel Mack [Sat, 18 Oct 2014 18:57:53 +0000 (20:57 +0200)]
sd-bus: sync kdbus.h (ABI break)

In kdbus.h, the 'features' field has been dropped again. Instead of
negotiating features that way, we decided to make the kernel return the
set of supported flags in each ioctl struct's .flags field, in both the
success and error cases.

7 years agosystemd: try harder to bind to notify socket
Zbigniew Jędrzejewski-Szmek [Fri, 17 Oct 2014 00:15:38 +0000 (19:15 -0500)]
systemd: try harder to bind to notify socket

Without the socket open we are going to crash and burn. If for
whatever reason we fail during deserialization we will fail when
trying to open the socket. In this case it is better to unlink the old
socket and maybe lose some messages, than to continue without the
notification socket.

Of course this situation should not happen, but we should handle
it as gracefully as possible anyway.

7 years agosystemd: log deserialization errors as warnings
Zbigniew Jędrzejewski-Szmek [Fri, 17 Oct 2014 00:13:45 +0000 (19:13 -0500)]
systemd: log deserialization errors as warnings

If we failed to parse something that we wrote ourselves,
things are seriously off. This is also likely to lead to
problems futher on.

7 years agosystemd: continue switch-root even if umount fails
Zbigniew Jędrzejewski-Szmek [Fri, 17 Oct 2014 00:12:55 +0000 (19:12 -0500)]
systemd: continue switch-root even if umount fails

Leaving the old root around seems better than aborting the

7 years agonspawn: fix DeviceAllow list
Daniel Mack [Fri, 17 Oct 2014 14:04:49 +0000 (16:04 +0200)]
nspawn: fix DeviceAllow list

Commit 864e17068 ("nspawn: actually allow access to /dev/net/tun in the
container") added "/dev/net/tun" to the list of allowed devices but forgot
to tweak the array length, which caused "/dev/kdbus/*" to be missed.

7 years agoenvironment: append unit_id to error messages regarding EnvironmentFile
Lukas Nykryn [Fri, 17 Oct 2014 09:46:01 +0000 (11:46 +0200)]
environment: append unit_id to error messages regarding EnvironmentFile

7 years agomissing: remove fanotify
Zbigniew Jędrzejewski-Szmek [Thu, 16 Oct 2014 22:29:45 +0000 (18:29 -0400)]
missing: remove fanotify

It was only used in readahead.

7 years agoexecute: downgrade namespace error to "warning"
Lennart Poettering [Fri, 17 Oct 2014 11:54:27 +0000 (13:54 +0200)]
execute: downgrade namespace error to "warning"

Also, extend the printed warning a bit, explaining the situation more

7 years agoupdate TODO
Lennart Poettering [Fri, 17 Oct 2014 11:49:01 +0000 (13:49 +0200)]
update TODO

7 years agonamespace: add missing 'const' to parameters
Lennart Poettering [Fri, 17 Oct 2014 11:48:55 +0000 (13:48 +0200)]
namespace: add missing 'const' to parameters

7 years agosystemctl: by default interactively ask for polkit authorization, if possible
Lennart Poettering [Mon, 13 Oct 2014 15:44:37 +0000 (17:44 +0200)]
systemctl: by default interactively ask for polkit authorization, if possible

Also, allow using --no-ask-password to turn off ineractive polkit

7 years agoexecute: don't fail child when we don't have privileges to setup namespaces
Michal Sekletar [Fri, 17 Oct 2014 09:51:46 +0000 (11:51 +0200)]
execute: don't fail child when we don't have privileges to setup namespaces

If we don't have privileges to setup the namespaces then we are most likely
running inside some sort of unprivileged container, hence not being able to
create namespace is not a problem because spawned service can't access host
system anyway.

7 years agoRevert "sd-bus: sync kdbus.h (ABI break)"
Kay Sievers [Fri, 17 Oct 2014 08:09:14 +0000 (10:09 +0200)]
Revert "sd-bus: sync kdbus.h (ABI break)"

This reverts commit 1a2409e262da65a4b0ca8ab18fcf5eabd2d404ca.

Support from the kdbus interface was removed. We require
memfds to be supported by all clients.

7 years agoresolve: add missing header
Lukasz Skalski [Thu, 16 Oct 2014 16:50:13 +0000 (18:50 +0200)]
resolve: add missing header

Change-Id: I64f7c6b446f6d92057c35cc3d4e29bd2bad8f75b

7 years agoterminal: log unsupported ANSI or DEC mode changes
Tom Gundersen [Thu, 16 Oct 2014 12:29:06 +0000 (14:29 +0200)]
terminal: log unsupported ANSI or DEC mode changes

7 years agoterminal: split ANSI from DEC mode changes
Tom Gundersen [Thu, 16 Oct 2014 12:27:34 +0000 (14:27 +0200)]
terminal: split ANSI from DEC mode changes