chiark / gitweb /
5 years agohwdb: add a new db for the DPI/frequency settings of mice
Peter Hutterer [Tue, 25 Nov 2014 11:35:16 +0000 (21:35 +1000)]
hwdb: add a new db for the DPI/frequency settings of mice

Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.

In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI

That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.

Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.

Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.

(David: fixed up typos and moved hwdb file into ./hwdb/)

5 years agounit-name: fix escaping logic in unit_name_mangle_with_suffix()
Ivan Shapovalov [Tue, 25 Nov 2014 18:58:14 +0000 (21:58 +0300)]
unit-name: fix escaping logic in unit_name_mangle_with_suffix()

Make screened character set consistent with unit_name_mangle() by splitting off
the escaping loop into a separate function.

Before this fix, unit names such as `` would get transformed
into `foo\` when unit_name_mangle_with_suffix() is used.

5 years agocoredump: use openat
Zbigniew Jędrzejewski-Szmek [Thu, 27 Nov 2014 04:31:35 +0000 (23:31 -0500)]
coredump: use openat

5 years agojournalctl: print all possible lines immediately with --follow + --since
Andrej Manduch [Tue, 25 Nov 2014 19:47:49 +0000 (20:47 +0100)]
journalctl: print all possible lines immediately with --follow + --since

When I tryed to run journalctl with --follow and --since arguments it
behaved very strangely.
First It prints logs from what I specified in --since argument, then
printed 10 lines (as is default in --follow) and when app put something
new in to log journalctl printed everithing from the last printed line.

How to reproduce:
1. run: journalctl -m --since 14:00 --follow
Then you'll see 10 lines of logs since 14:00. After that wait until some
app add something in the journal or just run `systemd-cat echo test`
2. After that journalctl will print every single line since 14:00 and will
follow as expected.

As long as --since and --follow will eventually print all relevant
lines, I seen no reason why not to print them right away and not after
first new message in journal.

Relevant bugzillas:

5 years agocoredump: collect all /proc data useful for bug reporting
Jakub Filak [Tue, 25 Nov 2014 06:37:48 +0000 (07:37 +0100)]
coredump: collect all /proc data useful for bug reporting

- status
- maps
- limits
- cgroup
- cwd
- root
- environ
- fd/ & fdinfo/ joined in open_fds

5 years agoutil: add function getting proc environ
Jakub Filak [Tue, 25 Nov 2014 06:37:47 +0000 (07:37 +0100)]
util: add function getting proc environ

On the contrary of env, the added function returns all characters
cescaped, because it improves reproducibility.

5 years agonetworkd: route - allow routes without a gateway
Gavin Li [Mon, 24 Nov 2014 23:51:31 +0000 (15:51 -0800)]
networkd: route - allow routes without a gateway

For IPv6, the kernel returns EINVAL if a route is added with the
RTA_GATEWAY attribute set to in6addr_any (::). A route without a
gateway is useful in some situations, such as layer 3 tunneling
(sit, gre, etc.).

This patch prevents the RTA_GATEWAY attribute from being added
when route.in_addr is ip6addr_any (::).

5 years agobuild-sys: do not install tmpfiles and sysusers files by default
Łukasz Stelmach [Wed, 26 Nov 2014 08:17:50 +0000 (09:17 +0100)]
build-sys: do not install tmpfiles and sysusers files by default

5 years agotimesyncd: do not keep listening socket open forever
Sean Young [Wed, 26 Nov 2014 09:33:30 +0000 (09:33 +0000)]
timesyncd: do not keep listening socket open forever

This also makes the source port less predicatable.

5 years agologind: Support logind.conf.d directories in the usual search paths
Josh Triplett [Wed, 29 Oct 2014 12:10:48 +0000 (05:10 -0700)]
logind: Support logind.conf.d directories in the usual search paths

This makes it possible to drop in logind configuration snippets from a
package or other configuration management mechanism.

Add documentation to the header of /etc/logind.conf pointing the user at

Introduce a new helper, conf_parse_many, to parse configuration files in
a search path.

5 years agoIntroduce CONF_DIRS_NULSTR helper to define standard conf dirs
Josh Triplett [Wed, 29 Oct 2014 12:02:56 +0000 (05:02 -0700)]
Introduce CONF_DIRS_NULSTR helper to define standard conf dirs

Several different systemd tools define a nulstr containing a standard
series of configuration file directories, in /etc, /run, /usr/local/lib,
/usr/lib, and (#ifdef HAVE_SPLIT_USR) /lib.  Factor that logic out into
a new helper macro, CONF_DIRS_NULSTR.

5 years agojournald: proceed even if some sockets are unknown
Zbigniew Jędrzejewski-Szmek [Wed, 26 Nov 2014 20:05:55 +0000 (15:05 -0500)]
journald: proceed even if some sockets are unknown

systemd-journald would refuse to start if it received an unknown
socket from systemd. This is annoying, because the failure more for
systemd-journald is unpleasant: systemd will keep restarting journald,
but most likely the same error will occur every time. It is better
to continue. journald will try to open missing sockets on its own,
so things should mostly work.

One question is whether to close the sockets which cannot be parsed or
to keep them open. Either way we might lose some messages. This
failure is most likely for the audit socket (selinux issues), which
can be opened multiple times so this not a problem, so I decided to
keep them open because it makes it easier to debug the issue after the
system is fully started.

5 years agoswap: restore support for nofail
Zbigniew Jędrzejewski-Szmek [Wed, 26 Nov 2014 15:36:52 +0000 (10:36 -0500)]
swap: restore support for nofail

systemd stops adding automatic dependencies on to swap
units. If a dependency is required, it has to be added by unit
configuration. fstab-generator did that already, except that now it is
modified to create a Requires or Wants type dependency, depending on
whether nofail is specified in /etc/fstab. This makes .swap units
obey the nofail/noauto options more or less the same as .mount units.

Documentation is extended to clarify that, and to make
systemd.mount(5) and system.swap(5) more similar. The gist is not
changed, because current behaviour actually matches existing

5 years agomanager: print fatal errors on the console too
Zbigniew Jędrzejewski-Szmek [Thu, 6 Nov 2014 05:05:38 +0000 (00:05 -0500)]
manager: print fatal errors on the console too

When booting in quiet mode, fatal messages would not be shown at all to the user.

5 years agomanager: log some fatal errors at emergency level
Zbigniew Jędrzejewski-Szmek [Thu, 6 Nov 2014 05:04:06 +0000 (00:04 -0500)]
manager: log some fatal errors at emergency level

This adds a new log_emergency() function, which is equivalent to
log_error() for non-PID-1, and logs at the highest priority for PID 1.
Some messages which occur before freezing are converted to use it.

5 years agobus-policy: actually test messages against the newly added test.conf
Lennart Poettering [Wed, 26 Nov 2014 20:15:39 +0000 (21:15 +0100)]
bus-policy: actually test messages against the newly added test.conf

5 years agobus-policy: also add in other bus policy tests from dbus1
Lennart Poettering [Wed, 26 Nov 2014 19:58:34 +0000 (20:58 +0100)]
bus-policy: also add in other bus policy tests from dbus1

dbus1 only checks if these files parse correctly so let's do the same for now.

5 years agobus-policy: steal a test case for prefix ownership from dbus1, and make sure it passe...
Lennart Poettering [Wed, 26 Nov 2014 19:22:22 +0000 (20:22 +0100)]
bus-policy: steal a test case for prefix ownership from dbus1, and make sure it passes with the bus proxy enforcement

5 years agosd-bus: make sure that when we connect to the system bus we have enough creds to...
Lennart Poettering [Wed, 26 Nov 2014 17:59:31 +0000 (18:59 +0100)]
sd-bus: make sure that when we connect to the system bus we have enough creds to make security decisions

5 years agocore: make sure we have enough information when doing selinux decisions
Lennart Poettering [Wed, 26 Nov 2014 17:57:37 +0000 (18:57 +0100)]
core: make sure we have enough information when doing selinux decisions

Let's ask for the security relevant bits in a race-free way, and augment
the rest from /proc.

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 16:27:13 +0000 (17:27 +0100)]
update TODO

5 years agosd-bus: update peeking into receieved messages, with recent kernel change we need...
Lennart Poettering [Wed, 26 Nov 2014 14:54:53 +0000 (15:54 +0100)]
sd-bus: update peeking into receieved messages, with recent kernel change we need to FREE them after all

5 years agocore: fix check for transaction destructiveness
Michal Schmidt [Wed, 26 Nov 2014 15:33:46 +0000 (16:33 +0100)]
core: fix check for transaction destructiveness

When checking if the transaction is destructive, we need to check if the
previously installed job is a superset of the new job (and hence the new
job will fold into the installed one without changing it), not the other
way around.

5 years agocore: drop now-redundant special-casing of JOB_NOP
Michal Schmidt [Wed, 26 Nov 2014 15:33:45 +0000 (16:33 +0100)]
core: drop now-redundant special-casing of JOB_NOP

job_type_is_conflicting(X, JOB_NOP) correctly gives: false.

job_type_allows_late_merge(JOB_NOP) && job_type_is_superset(X, JOB_NOP)
correctly gives: true.

5 years agocore: fix assertion failure in checking a transaction with a JOB_NOP
Michal Schmidt [Wed, 26 Nov 2014 15:33:43 +0000 (16:33 +0100)]
core: fix assertion failure in checking a transaction with a JOB_NOP

Several functions called from transaction_activate() need to correctly
handle the case where a JOB_NOP job is being checked against a unit's
pending job. The assumption that JOB_NOP never merges with other job
types was correct, but since the job_type_is_*() functions are
implemented using the merge lookup, they need to special-case JOB_NOP
to avoid hitting assertion failures.

5 years agotest: add test for crash when adding a JOB_NOP
Michal Schmidt [Wed, 26 Nov 2014 15:33:40 +0000 (16:33 +0100)]
test: add test for crash when adding a JOB_NOP

5 years agosd-bus: update kdbus.h from upstream
Lennart Poettering [Wed, 26 Nov 2014 14:43:50 +0000 (15:43 +0100)]
sd-bus: update kdbus.h from upstream

5 years agocore: reindent mount/kmod tables
Lennart Poettering [Wed, 26 Nov 2014 14:43:20 +0000 (15:43 +0100)]
core: reindent mount/kmod tables

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 14:42:54 +0000 (15:42 +0100)]
update TODO

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 14:01:50 +0000 (15:01 +0100)]
update TODO

5 years agosd-bus: given that the kernel now passes the auxgroups list as 32bit array to us...
Lennart Poettering [Wed, 26 Nov 2014 13:59:12 +0000 (14:59 +0100)]
sd-bus: given that the kernel now passes the auxgroups list as 32bit array to us, no need to convert to uid_t manually

This way, we can save one allocation and avoid copying the array

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 13:14:17 +0000 (14:14 +0100)]
update TODO

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 11:11:39 +0000 (12:11 +0100)]
update TODO

5 years agobus: update kdbus.h (ABI break)
David Herrmann [Wed, 26 Nov 2014 10:11:54 +0000 (11:11 +0100)]
bus: update kdbus.h (ABI break)

We changed creds to u32, so fix systemd sd-bus to acknowledge that.

5 years agoreorder TODO a bit
Lennart Poettering [Wed, 26 Nov 2014 02:18:17 +0000 (03:18 +0100)]
reorder TODO a bit

5 years agoudevadm trigger: allow matching by device name
Zbigniew Jędrzejewski-Szmek [Wed, 26 Nov 2014 01:32:03 +0000 (20:32 -0500)]
udevadm trigger: allow matching by device name

This makes udevadm trigger mirror udevadm info, except that multiple
device names can be specified. Instructions in 60-keyboard.hwdb should
now actually work.

udevadm(8) is updated, but it could use a bit more polishing.

5 years agoudevadm: split out find_device helper
Zbigniew Jędrzejewski-Szmek [Wed, 26 Nov 2014 00:39:19 +0000 (19:39 -0500)]
udevadm: split out find_device helper

The idea is to unify the way that devices can be specified.

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 01:55:42 +0000 (02:55 +0100)]
update TODO

5 years agobus-kernel: when installing an activator, ask for any kind of metadata to be attached...
Lennart Poettering [Wed, 26 Nov 2014 01:54:41 +0000 (02:54 +0100)]
bus-kernel: when installing an activator, ask for any kind of metadata to be attached to incoming messages

We don't know what the activated service might want in the end, hence
enable everything current and future, just to be sure.

5 years agosd-bus: don't clobber return values on failure in bus_kernel_open_bus_fd()
Lennart Poettering [Wed, 26 Nov 2014 01:54:11 +0000 (02:54 +0100)]
sd-bus: don't clobber return values on failure in bus_kernel_open_bus_fd()

5 years agosd-bus: set per-bus attach flag requirement mask to ANY
Lennart Poettering [Wed, 26 Nov 2014 01:50:49 +0000 (02:50 +0100)]
sd-bus: set per-bus attach flag requirement mask to ANY

On the system and user busses we create it's the receiver that chooses
which metadata is attched, not the sender, hence set the requirement
mask to ANY, to allow any current of future credential bit to be

5 years agoupdate TODO
Lennart Poettering [Wed, 26 Nov 2014 01:21:15 +0000 (02:21 +0100)]
update TODO

5 years agosd-bus: add suppot for renegotiating message credential attach flags
Lennart Poettering [Wed, 26 Nov 2014 01:20:28 +0000 (02:20 +0100)]
sd-bus: add suppot for renegotiating message credential attach flags

5 years agosd-bus: use free_and_strdup() where appropriate
Lennart Poettering [Wed, 26 Nov 2014 00:45:14 +0000 (01:45 +0100)]
sd-bus: use free_and_strdup() where appropriate

This simplifies things a bit and makes sure we free any previously set
creds component before writing in a new one.

5 years agoresolved: fix typo in sd_notify() call
Tom Gundersen [Tue, 25 Nov 2014 21:30:29 +0000 (22:30 +0100)]
resolved: fix typo in sd_notify() call

5 years agoupdate TODO
Lennart Poettering [Tue, 25 Nov 2014 19:50:55 +0000 (20:50 +0100)]
update TODO

5 years agocore: show log message about process triggering kdbus service activation
Lennart Poettering [Tue, 25 Nov 2014 18:32:48 +0000 (19:32 +0100)]
core: show log message about process triggering kdbus service activation

5 years agosd-bus: react properly to EOVERFLOW by generating a log message about dropped broadca...
Lennart Poettering [Tue, 25 Nov 2014 18:54:18 +0000 (19:54 +0100)]
sd-bus: react properly to EOVERFLOW by generating a log message about dropped broadcast messages and proceeding

5 years agokdbus: update header file to current upstream version
Lennart Poettering [Tue, 25 Nov 2014 18:25:33 +0000 (19:25 +0100)]
kdbus: update header file to current upstream version

5 years agokdbus: minor simplification
Lennart Poettering [Tue, 25 Nov 2014 18:25:19 +0000 (19:25 +0100)]
kdbus: minor simplification

5 years agoupdate TODO
Lennart Poettering [Tue, 25 Nov 2014 18:25:03 +0000 (19:25 +0100)]
update TODO

5 years agoutil: mark page_size() as pure
Lennart Poettering [Tue, 25 Nov 2014 18:24:45 +0000 (19:24 +0100)]
util: mark page_size() as pure

5 years agoupdate TODO
Lennart Poettering [Tue, 25 Nov 2014 12:24:08 +0000 (13:24 +0100)]
update TODO

5 years agosd-bus: fix error handling when receiving invalid service name
Lennart Poettering [Tue, 25 Nov 2014 12:23:44 +0000 (13:23 +0100)]
sd-bus: fix error handling when receiving invalid service name

Also, properly keep track of incoming additional service names.

5 years agosd-bus: properly handle non-initialized audit records attached to incoming kernel...
Lennart Poettering [Tue, 25 Nov 2014 12:22:55 +0000 (13:22 +0100)]
sd-bus: properly handle non-initialized audit records attached to incoming kernel messages

5 years agosd-bus: properly copy selinux label and description field when duplicating creds...
Lennart Poettering [Tue, 25 Nov 2014 12:22:19 +0000 (13:22 +0100)]
sd-bus: properly copy selinux label and description field when duplicating creds object

5 years agosd-bus: add supplementary groups list to creds object
Lennart Poettering [Tue, 25 Nov 2014 12:21:23 +0000 (13:21 +0100)]
sd-bus: add supplementary groups list to creds object

5 years agobusctl: if no parameter is specified for "busctl status" show credentials of bus...
Lennart Poettering [Tue, 25 Nov 2014 01:11:57 +0000 (02:11 +0100)]
busctl: if no parameter is specified for "busctl status" show credentials of bus owner

5 years agosd-bus: properly handle uninitialized audit creds from kdbus
Lennart Poettering [Tue, 25 Nov 2014 00:59:48 +0000 (01:59 +0100)]
sd-bus: properly handle uninitialized audit creds from kdbus

5 years agosd-bus: don't fail when querying creds and dbus1 refuses to tell us the selinux context
Lennart Poettering [Mon, 24 Nov 2014 21:11:53 +0000 (22:11 +0100)]
sd-bus: don't fail when querying creds and dbus1 refuses to tell us the selinux context

5 years agobusctl: add new --augment-creds= switch for controlling whether shown credential...
Lennart Poettering [Mon, 24 Nov 2014 20:53:29 +0000 (21:53 +0100)]
busctl: add new --augment-creds= switch for controlling whether shown credential data shall be augment with data from /proc

5 years agosd-bus: update to current kernel version, by splitting off the extended KDBUS_ITEM_PI...
Lennart Poettering [Mon, 24 Nov 2014 20:41:40 +0000 (21:41 +0100)]
sd-bus: update to current kernel version, by splitting off the extended KDBUS_ITEM_PIDS structure from KDBUS_ITEM_CREDS


- adds support for euid, suid, fsuid, egid, sgid, fsgid fields.

- makes augmentation of creds with data from /proc explicitly
  controllable to give apps better control over this, given that this is

- enables augmentation for kdbus connections (previously we only did it
  for dbus1). This is useful since with recent kdbus versions it is
  possible for clients to control the metadata they want to send.

- changes sd_bus_query_sender_privilege() to take the euid of the client
  into consideration, if known

- when we don't have permissions to read augmentation data from /proc,
  don't fail, just don't add the data in

5 years agobusctl: improve readability a bit
Lennart Poettering [Mon, 24 Nov 2014 20:39:18 +0000 (21:39 +0100)]
busctl: improve readability a bit

5 years agobus: change creds dumping order to be more close to internal storage order
Lennart Poettering [Mon, 24 Nov 2014 20:37:26 +0000 (21:37 +0100)]
bus: change creds dumping order to be more close to internal storage order

5 years agoutil: skip incomplete ucred information in getpeersec()
Lennart Poettering [Mon, 24 Nov 2014 20:21:24 +0000 (21:21 +0100)]
util: skip incomplete ucred information in getpeersec()

5 years agosd-bus: don't blindly take incomplete ucred bits from AF_UNIX when constructing message
Lennart Poettering [Mon, 24 Nov 2014 20:20:53 +0000 (21:20 +0100)]
sd-bus: don't blindly take incomplete ucred bits from AF_UNIX when constructing message

5 years agoupdate TODO
Lennart Poettering [Mon, 24 Nov 2014 16:55:44 +0000 (17:55 +0100)]
update TODO

5 years agohwdb: fix a typo
Peter Hutterer [Tue, 25 Nov 2014 10:45:50 +0000 (20:45 +1000)]
hwdb: fix a typo

5 years agotmpfiles.d: Fix directory name
Martin Pitt [Tue, 25 Nov 2014 10:39:30 +0000 (11:39 +0100)]
tmpfiles.d: Fix directory name

The .service uses "/var/lib/container", not "containers".

5 years agolocaled: verify xkb keymaps after pk-queries
David Herrmann [Tue, 25 Nov 2014 09:26:08 +0000 (10:26 +0100)]
localed: verify xkb keymaps after pk-queries

Make sure not to run xkb-keymap validation twice if pk-queries are used.
Move it below pk-checks.

5 years agoterminal/idev: forward xkb-messages
David Herrmann [Tue, 25 Nov 2014 09:24:39 +0000 (10:24 +0100)]
terminal/idev: forward xkb-messages

Properly forward all XKB messages. You can use XKB_LOG_VERBOSITY= to
control the amount of messages sent by XKB. We explicitly set
XKB_LOG_LEVEL to 7 you can use SYSTEMD_LOG_LEVEL to control the log-level

5 years agoterminal/idev: avoid magic numbers
David Herrmann [Tue, 25 Nov 2014 09:24:08 +0000 (10:24 +0100)]
terminal/idev: avoid magic numbers

Use XKB_CONTEXT_NO_FLAGS instead of magic 0.

5 years agoterminal/idev: use compose tables
David Herrmann [Mon, 24 Nov 2014 17:25:30 +0000 (18:25 +0100)]
terminal/idev: use compose tables

Before forwarding keyboard events, feed them into possible compose tables.
This enables Compose-key and Dead-key features.

Few notes:
 * REPEAT events are never fed into compose tables. It just doesn't make
   sense and is usually not wanted. Compose-sequences are usually hard to
   remember and take time to type. Thus, the REPEAT event of the
   Compose-key itself would often cancel the compose sequence already.

 * Stop resolving symbols for UP events. Anything but keycodes is never
   associated to a physical key, but is a one-time action. There is
   nothing like UP events for key-symbols!

 * Cancel compose-sequences on Multi-Key UP. See the inline comment. We
   should make this configurable!

5 years agoterminal/idev: add compose-file support
David Herrmann [Mon, 24 Nov 2014 15:32:54 +0000 (16:32 +0100)]
terminal/idev: add compose-file support

Add support for compose files to idev-keyboard. This requires
libxkbcommon-0.5.0, which is pretty new, but should be fine.

We don't use the compose-files, yet. Further commits will put life into

5 years agosmack: introduce new SmackProcessLabel option
WaLyong Cho [Mon, 24 Nov 2014 11:46:20 +0000 (20:46 +0900)]
smack: introduce new SmackProcessLabel option

In service file, if the file has some of special SMACK label in
ExecStart= and systemd has no permission for the special SMACK label
then permission error will occurred. To resolve this, systemd should
be able to set its SMACK label to something accessible of ExecStart=.
So introduce new SmackProcessLabel. If label is specified with
SmackProcessLabel= then the child systemd will set its label to
that. To successfully execute the ExecStart=, accessible label should
be specified with SmackProcessLabel=.
Additionally, by SMACK policy, if the file in ExecStart= has no
SMACK64EXEC then the executed process will have given label by
SmackProcessLabel=. But if the file has SMACK64EXEC then the
SMACK64EXEC label will be overridden.

[zj: reword man page]

5 years agogpt-auto-generator: properly ignore value
Zbigniew Jędrzejewski-Szmek [Mon, 24 Nov 2014 01:01:40 +0000 (20:01 -0500)]
gpt-auto-generator: properly ignore value

A negative return code was treated as a true value.

5 years agobuild-sys: support local ./configure arguments
David Herrmann [Mon, 24 Nov 2014 14:39:00 +0000 (15:39 +0100)]
build-sys: support local ./configure arguments

I often want to use the awesome "./ [cmd]" arguments, but have
to append some custom ./configure options. For now, I always had to edit manually, or copy the full commands out of it and run it

As I think this is super annoying, this commit adds support for
".config.args" files in $topdir. If it exists, any content is just
appended to $args, thus to any ./configure invokation of

Maybe autotools provide something similar out-of-the-box. In that case,
feel free to revert this and lemme know!

5 years agolocaled: validate xkb keymaps
David Herrmann [Mon, 24 Nov 2014 14:12:42 +0000 (15:12 +0100)]
localed: validate xkb keymaps

Introduce a new optional dependency on libxkbcommon for systemd-localed.
Whenever the x11 keymap settings are changed, use libxkbcommon to compile
the keymap. If the compilation fails, print a warning so users will get

On compilation failure, we still update the keymap settings for now. This
patch just introduces the xkbcommon infrastructure to have keymap
validation in place. We can later decide if/how we want to enforce this.

5 years agocryptsetup: default to no hash when keyfile is specified
Zbigniew Jędrzejewski-Szmek [Mon, 24 Nov 2014 14:11:12 +0000 (09:11 -0500)]
cryptsetup: default to no hash when keyfile is specified

For plain dm-crypt devices, the behavior of cryptsetup package is to
ignore the hash algorithm when a key file is provided. It seems wrong
to ignore a hash when it is explicitly specified, but we should default
to no hash if the keyfile is specified.

5 years agomanager: only issue overmount warning when the check succeeded
Zbigniew Jędrzejewski-Szmek [Thu, 6 Nov 2014 03:39:13 +0000 (22:39 -0500)]
manager: only issue overmount warning when the check succeeded

If for any reason the check failed (selinux?), we would still issue
the warning. Check the return status.

5 years agomanager: let manager_free() handle NULLs
Zbigniew Jędrzejewski-Szmek [Sat, 8 Nov 2014 15:06:12 +0000 (10:06 -0500)]
manager: let manager_free() handle NULLs

This makes the calling code a bit simpler.

5 years agodbus: return non-zero return value in the case that prefix won't match
Lukas Nykryn [Thu, 20 Nov 2014 15:06:18 +0000 (16:06 +0100)]
dbus: return non-zero return value in the case that prefix won't match

strv_extend returns 0 in the case of success which means that
else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) == 0)
        log_warning("Unknown serialization item '%s'", l);
will be printed when value is added correctly.

5 years agotest: support empty environment variables in unit files
Iago López Galeiras [Thu, 20 Nov 2014 20:18:23 +0000 (21:18 +0100)]
test: support empty environment variables in unit files

Also update TODO, empty environment variables in Environment= and
EnvironmentFile= options work.

5 years agoman: reword list-dependencies description
Zbigniew Jędrzejewski-Szmek [Sun, 23 Nov 2014 16:07:15 +0000 (11:07 -0500)]
man: reword list-dependencies description

The previous version was a bit too vague. It is better
to simply list all dependency types that are followed.

Previous version also made an emphasis on dependencies introduced by
configuration.  But this command (or systemd) don't care about this
distinction between configured and automatically added dependencies at
all. This distinctionis removed from the main description, and an
explanatory paragraph is added to remind the user that all
dependencies are shown, no matter where they come from.

5 years agosystemctl: show BindsTo/BoundBy in list-dependencies
Zbigniew Jędrzejewski-Szmek [Sun, 23 Nov 2014 01:21:56 +0000 (20:21 -0500)]
systemctl: show BindsTo/BoundBy in list-dependencies

Suggested-by: Peter Mattern <>

5 years agonspawn: ignore EEXIST when mounting tmpfs
Richard Schütz [Fri, 21 Nov 2014 20:44:48 +0000 (21:44 +0100)]
nspawn: ignore EEXIST when mounting tmpfs

commit 79d80fc1466512d0ca211f4bfcd9de5f2f816a5a introduced a regression that
prevents mounting a tmpfs if the mount point already exits in the container's
root file system. This commit fixes the problem by ignoring EEXIST.

5 years agoman/logind.conf.xml: make consistent with default logind.conf
Chris Atkinson [Sat, 22 Nov 2014 20:58:47 +0000 (15:58 -0500)]
man/logind.conf.xml: make consistent with default logind.conf

5 years agoDo not check for existence of remote binaries
Zbigniew Jędrzejewski-Szmek [Sat, 22 Nov 2014 23:00:07 +0000 (18:00 -0500)]
Do not check for existence of remote binaries

systemd-run would fail when run with -M or -H and an absolute path,
if this path did not exists locally. Allow it to continue, since we
don't have a nice way of checking if the binary exists remotely.

The case where -M or -H is used and a local path is unchanged, and we
still iterate over $PATH to find the binary. We need to convert to an
absolute path, and we don't have a nice mechanism to check remotely,
so we assume that the binary will be located in the same place locally
and remotely.

5 years agomissing: add IFLA_BRPORT_LEARNING and friends
Zbigniew Jędrzejewski-Szmek [Sat, 22 Nov 2014 22:12:44 +0000 (17:12 -0500)]
missing: add IFLA_BRPORT_LEARNING and friends

IFLA_BRPORT_LEARNING was added in v3.10-rc4-583-g9ba18891f7,
and IFLA_BRPORT_UNICAST_FLOOD in v3.10-rc4-584-g867a59436f.

5 years agomissing: add __NR_getrandom for a few more archs
Zbigniew Jędrzejewski-Szmek [Sat, 22 Nov 2014 17:04:50 +0000 (12:04 -0500)]
missing: add __NR_getrandom for a few more archs

Mips has getrandom() too, but there's just too many variants
for me too care. Either someone who cares does it, or they get
compile-time warnings with old kernel headers.

5 years agoselinux-access: fix broken ternary operator
Lukas Nykryn [Fri, 21 Nov 2014 16:02:15 +0000 (17:02 +0100)]
selinux-access: fix broken ternary operator

it seems to be a typo introduced by ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602
-                _r = selinux_access_check(_b, _m, _u->source_path ?:_u->fragment_path, (permission), &_error); \
+        ({ Unit *_unit = (unit); selinux_generic_access_check(bus,message, _unit->fragment_path ?: _unit->fragment_path, permission,error); })

5 years agoman: don't mix 2ch and 8ch indentation in busctl.xml
Lennart Poettering [Fri, 21 Nov 2014 19:46:01 +0000 (20:46 +0100)]
man: don't mix 2ch and 8ch indentation in busctl.xml

5 years agoman: add emacs header to get correct indention in nxml-mode for the manpage XML files...
Lennart Poettering [Fri, 21 Nov 2014 19:44:48 +0000 (20:44 +0100)]
man: add emacs header to get correct indention in nxml-mode for the manpage XML files that use 2ch indenting

In the long run we really should figure out if we want to stick with 8ch
or 2ch indenting, and not continue with half-and-half. For now, just
make emacs aware of the files that use 2ch indenting.

5 years agobusctl: add --timeout= option to specify method call timeout
Lennart Poettering [Fri, 21 Nov 2014 19:31:50 +0000 (20:31 +0100)]
busctl: add --timeout= option to specify method call timeout

5 years agobusctl: add options to control message header flags when invoking methods
Lennart Poettering [Fri, 21 Nov 2014 19:13:26 +0000 (20:13 +0100)]
busctl: add options to control message header flags when invoking methods

5 years agonspawn: Add try-{host,guest} journal link modes
Martin Pitt [Thu, 20 Nov 2014 13:30:52 +0000 (14:30 +0100)]
nspawn: Add try-{host,guest} journal link modes

--link-journal={host,guest} fail if the host does not have persistent
journalling enabled and /var/log/journal/ does not exist. Even worse, as there
is no stdout/err any more, there is no error message to point that out.

Introduce two new modes "try-host" and "try-guest" which don't fail in this
case, and instead just silently skip the guest journal setup.

Change -j to mean "try-guest" instead of "guest", and fix the wrong --help
output for it (it said "host" before).

Change to use "try-guest" so that this unit works
with both persistent and non-persistent journals on the host without failing.

5 years agounits: make sure rfkill service is bount to the actual hardware
Lennart Poettering [Fri, 21 Nov 2014 00:20:57 +0000 (01:20 +0100)]
units: make sure rfkill service is bount to the actual hardware

5 years agoRevert "systemd-logind.service: set Type=notify"
Lennart Poettering [Fri, 21 Nov 2014 00:17:52 +0000 (01:17 +0100)]
Revert "systemd-logind.service: set Type=notify"

This reverts commit a4962513c555fe3ac4b5bebf97a71701361a45b0.

logind.service is a D-Bus service, hence we should use the dbus name as
indication that we are up. Type=dbus is implied if BusName= is
specified, as it is in this case.

This removes a warning that is printed because a BusName= is specified
for a Type=notify unit.

5 years agotmpfiles.d: Create /var/lib/containers
Martin Pitt [Thu, 20 Nov 2014 13:37:08 +0000 (14:37 +0100)]
tmpfiles.d: Create /var/lib/containers

Create /var/lib/containers so that it exists with an appropriate mode. We want
0700 by default so that users on the host aren't able to call suid root
binaries in the container. This becomes a security issue if a user can enter a
container as root, create a suid root binary, and call that from the host.
(This assumes that containers are caged by mandatory access control or are
started as user).

5 years agobusctl: show property values in "introspect" output, add "set-property" command,...
Lennart Poettering [Thu, 20 Nov 2014 22:12:29 +0000 (23:12 +0100)]
busctl: show property values in "introspect" output, add "set-property" command, and support both a terse and a verbose output format