]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
7 years agocore:namespace: put paths protected by ProtectKernelTunables= in
Djalal Harouni [Sun, 25 Sep 2016 09:16:44 +0000 (11:16 +0200)] 
core:namespace: put paths protected by ProtectKernelTunables= in

Instead of having all these paths everywhere, put the ones that are
protected by ProtectKernelTunables= into their own table. This way it
is easy to add paths and track which ones are protected.

7 years agocore:namespace: minor improvements to append_mounts()
Djalal Harouni [Sun, 25 Sep 2016 09:03:21 +0000 (11:03 +0200)] 
core:namespace: minor improvements to append_mounts()

7 years agoexecute: move SMACK setup code into its own function
Lennart Poettering [Fri, 26 Aug 2016 15:40:42 +0000 (17:40 +0200)] 
execute: move SMACK setup code into its own function

While we are at it, move PAM code #ifdeffery into setup_pam() to simplify the
main execution logic a bit.

7 years agonamespace: drop all mounts outside of the new root directory
Lennart Poettering [Fri, 26 Aug 2016 15:25:40 +0000 (17:25 +0200)] 
namespace: drop all mounts outside of the new root directory

There's no point in mounting these, if they are outside of the root directory
we'll move to.

7 years agomain: minor simplification
Lennart Poettering [Fri, 26 Aug 2016 15:25:08 +0000 (17:25 +0200)] 
main: minor simplification

7 years agoUpdate TODO
Lennart Poettering [Wed, 24 Aug 2016 18:53:56 +0000 (20:53 +0200)] 
Update TODO

7 years agoexecute: filter low-level I/O syscalls if PrivateDevices= is set
Lennart Poettering [Fri, 26 Aug 2016 14:39:04 +0000 (16:39 +0200)] 
execute: filter low-level I/O syscalls if PrivateDevices= is set

If device access is restricted via PrivateDevices=, let's also block the
various low-level I/O syscalls at the same time, so that we know that the
minimal set of devices in our virtualized /dev are really everything the unit
can access.

7 years agoNEWS: update news about systemd-udevd.service
Lennart Poettering [Mon, 19 Sep 2016 19:29:06 +0000 (21:29 +0200)] 
NEWS: update news about systemd-udevd.service

7 years agounits: further lock down our long-running services
Lennart Poettering [Fri, 26 Aug 2016 11:23:27 +0000 (13:23 +0200)] 
units: further lock down our long-running services

Let's make this an excercise in dogfooding: let's turn on more security
features for all our long-running services.

Specifically:

- Turn on RestrictRealtime=yes for all of them

- Turn on ProtectKernelTunables=yes and ProtectControlGroups=yes for most of
  them

- Turn on RestrictAddressFamilies= for all of them, but different sets of
  address families for each

Also, always order settings in the unit files, that the various sandboxing
features are close together.

Add a couple of missing, older settings for a numbre of unit files.

Note that this change turns off AF_INET/AF_INET6 from udevd, thus effectively
turning of networking from udev rule commands. Since this might break stuff
(that is already broken I'd argue) this is documented in NEWS.

7 years agounits: permit importd to mount stuff
Lennart Poettering [Fri, 26 Aug 2016 10:45:10 +0000 (12:45 +0200)] 
units: permit importd to mount stuff

Fixes #3996

7 years agoman: shorten the exit status table a bit
Lennart Poettering [Fri, 26 Aug 2016 10:29:52 +0000 (12:29 +0200)] 
man: shorten the exit status table a bit

Let's merge a couple of columns, to make the table a bit shorter. This
effectively just drops whitespace, not contents, but makes the currently
humungous table much much more compact.

7 years agoman: the exit code/signal is stored in $EXIT_CODE, not $EXIT_STATUS
Lennart Poettering [Fri, 26 Aug 2016 10:29:28 +0000 (12:29 +0200)] 
man: the exit code/signal is stored in $EXIT_CODE, not $EXIT_STATUS

7 years agoman: rework documentation for ReadOnlyPaths= and related settings
Lennart Poettering [Fri, 26 Aug 2016 10:24:37 +0000 (12:24 +0200)] 
man: rework documentation for ReadOnlyPaths= and related settings

This reworks the documentation for ReadOnlyPaths=, ReadWritePaths=,
InaccessiblePaths=. It no longer claims that we'd follow symlinks relative to
the host file system. (Which wasn't true actually, as we didn't follow symlinks
at all in the most recent releases, and we know do follow them, but relative to
RootDirectory=).

This also replaces all references to the fact that all fs namespacing options
can be undone with enough privileges and disable propagation by a single one in
the documentation of ReadOnlyPaths= and friends, and then directs the read to
this in all other places.

Moreover a hint is added to the documentation of SystemCallFilter=, suggesting
usage of ~@mount in case any of the fs namespacing related options are used.

7 years agoman: in user-facing documentaiton don't reference C function names
Lennart Poettering [Fri, 26 Aug 2016 10:22:23 +0000 (12:22 +0200)] 
man: in user-facing documentaiton don't reference C function names

Let's drop the reference to the cap_from_name() function in the documentation
for the capabilities setting, as it is hardly helpful. Our readers are not
necessarily C hackers knowing the semantics of cap_from_name(). Moreover, the
strings we accept are just the plain capability names as listed in
capabilities(7) hence there's really no point in confusing the user with
anything else.

7 years agonamespace: don't make the root directory of a namespace a mount if it already is one
Lennart Poettering [Fri, 26 Aug 2016 09:27:38 +0000 (11:27 +0200)] 
namespace: don't make the root directory of a namespace a mount if it already is one

Let's not stack mounts needlessly.

7 years agonamespace: chase symlinks for mounts to set up in userspace
Lennart Poettering [Sat, 24 Sep 2016 10:41:30 +0000 (12:41 +0200)] 
namespace: chase symlinks for mounts to set up in userspace

This adds logic to chase symlinks for all mount points that shall be created in
a namespace environment in userspace, instead of leaving this to the kernel.
This has the advantage that we can correctly handle absolute symlinks that
shall be taken relative to a specific root directory. Moreover, we can properly
handle mounts created on symlinked files or directories as we can merge their
mounts as necessary.

(This also drops the "done" flag in the namespace logic, which was never
actually working, but was supposed to permit a partial rollback of the
namespace logic, which however is only mildly useful as it wasn't clear in
which case it would or would not be able to roll back.)

Fixes: #3867
7 years agonamespace: invoke unshare() only after checking all parameters
Lennart Poettering [Thu, 25 Aug 2016 15:30:47 +0000 (17:30 +0200)] 
namespace: invoke unshare() only after checking all parameters

Let's create the new namespace only after we validated and processed all
parameters, right before we start with actually mounting things.

This way, the window where we can roll back is larger (not that it matters
IRL...)

7 years agoexecute: drop group priviliges only after setting up namespace
Lennart Poettering [Thu, 25 Aug 2016 15:29:12 +0000 (17:29 +0200)] 
execute: drop group priviliges only after setting up namespace

If PrivateDevices=yes is set, the namespace code creates device nodes in /dev
that should be owned by the host's root, hence let's make sure we set up the
namespace before dropping group privileges.

7 years agonspawn: let's mount /proc/sysrq-trigger read-only by default
Lennart Poettering [Thu, 25 Aug 2016 14:25:49 +0000 (16:25 +0200)] 
nspawn: let's mount /proc/sysrq-trigger read-only by default

LXC does this, and we should probably too. Better safe than sorry.

7 years agocore: imply ProtectHome=read-only and ProtectSystem=strict if DynamicUser=1
Lennart Poettering [Thu, 25 Aug 2016 14:12:46 +0000 (16:12 +0200)] 
core: imply ProtectHome=read-only and ProtectSystem=strict if DynamicUser=1

Let's make sure that services that use DynamicUser=1 cannot leave files in the
file system should the system accidentally have a world-writable directory
somewhere.

This effectively ensures that directories need to be whitelisted rather than
blacklisted for access when DynamicUser=1 is set.

7 years agocore: introduce ProtectSystem=strict
Lennart Poettering [Thu, 25 Aug 2016 13:57:21 +0000 (15:57 +0200)] 
core: introduce ProtectSystem=strict

Let's tighten our sandbox a bit more: with this change ProtectSystem= gains a
new setting "strict". If set, the entire directory tree of the system is
mounted read-only, but the API file systems /proc, /dev, /sys are excluded
(they may be managed with PrivateDevices= and ProtectKernelTunables=). Also,
/home and /root are excluded as those are left for ProtectHome= to manage.

In this mode, all "real" file systems (i.e. non-API file systems) are mounted
read-only, and specific directories may only be excluded via
ReadWriteDirectories=, thus implementing an effective whitelist instead of
blacklist of writable directories.

While we are at, also add /efi to the list of paths always affected by
ProtectSystem=. This is a follow-up for
b52a109ad38cd37b660ccd5394ff5c171a5e5355 which added /efi as alternative for
/boot. Our namespacing logic should respect that too.

7 years agonamespace: add some debug logging when enforcing InaccessiblePaths=
Lennart Poettering [Thu, 25 Aug 2016 13:51:37 +0000 (15:51 +0200)] 
namespace: add some debug logging when enforcing InaccessiblePaths=

7 years agonamespace: rework how ReadWritePaths= is applied
Lennart Poettering [Sun, 25 Sep 2016 08:40:51 +0000 (10:40 +0200)] 
namespace: rework how ReadWritePaths= is applied

Previously, if ReadWritePaths= was nested inside a ReadOnlyPaths=
specification, then we'd first recursively apply the ReadOnlyPaths= paths, and
make everything below read-only, only in order to then flip the read-only bit
again for the subdirs listed in ReadWritePaths= below it.

This is not only ugly (as for the dirs in question we first turn on the RO bit,
only to turn it off again immediately after), but also problematic in
containers, where a container manager might have marked a set of dirs read-only
and this code will undo this is ReadWritePaths= is set for any.

With this patch behaviour in this regard is altered: ReadOnlyPaths= will not be
applied to the children listed in ReadWritePaths= in the first place, so that
we do not need to turn off the RO bit for those after all.

This means that ReadWritePaths=/ReadOnlyPaths= may only be used to turn on the
RO bit, but never to turn it off again. Or to say this differently: if some
dirs are marked read-only via some external tool, then ReadWritePaths= will not
undo it.

This is not only the safer option, but also more in-line with what the man page
currently claims:

        "Entries (files or directories) listed in ReadWritePaths= are
        accessible from within the namespace with the same access rights as
        from outside."

To implement this change bind_remount_recursive() gained a new "blacklist"
string list parameter, which when passed may contain subdirs that shall be
excluded from the read-only mounting.

A number of functions are updated to add more debug logging to make this more
digestable.

7 years agonamespace: when enforcing fs namespace restrictions suppress redundant mounts
Lennart Poettering [Thu, 25 Aug 2016 09:29:32 +0000 (11:29 +0200)] 
namespace: when enforcing fs namespace restrictions suppress redundant mounts

If /foo is marked to be read-only, and /foo/bar too, then the latter may be
suppressed as it has no effect.

7 years agonamespace: simplify mount_path_compare() a bit
Lennart Poettering [Thu, 25 Aug 2016 08:44:09 +0000 (10:44 +0200)] 
namespace: simplify mount_path_compare() a bit

7 years agoexecute: if RuntimeDirectory= is set, it should be writable
Lennart Poettering [Thu, 25 Aug 2016 08:42:38 +0000 (10:42 +0200)] 
execute: if RuntimeDirectory= is set, it should be writable

Implicitly make all dirs set with RuntimeDirectory= writable, as the concept
otherwise makes no sense.

7 years agoexecute: move suppression of HOME=/ and SHELL=/bin/nologin into user-util.c
Lennart Poettering [Thu, 25 Aug 2016 08:24:10 +0000 (10:24 +0200)] 
execute: move suppression of HOME=/ and SHELL=/bin/nologin into user-util.c

This adds a new call get_user_creds_clean(), which is just like
get_user_creds() but returns NULL in the home/shell parameters if they contain
no useful information. This code previously lived in execute.c, but by
generalizing this we can reuse it in run.c.

7 years agoexecute: split out creation of runtime dirs into its own functions
Lennart Poettering [Thu, 25 Aug 2016 08:12:57 +0000 (10:12 +0200)] 
execute: split out creation of runtime dirs into its own functions

7 years agonamespace: make sure InaccessibleDirectories= masks all mounts further down
Lennart Poettering [Wed, 24 Aug 2016 21:17:42 +0000 (23:17 +0200)] 
namespace: make sure InaccessibleDirectories= masks all mounts further down

If a dir is marked to be inaccessible then everything below it should be masked
by it.

7 years agocore: add two new service settings ProtectKernelTunables= and ProtectControlGroups=
Lennart Poettering [Mon, 22 Aug 2016 16:43:59 +0000 (18:43 +0200)] 
core: add two new service settings ProtectKernelTunables= and ProtectControlGroups=

If enabled, these will block write access to /sys, /proc/sys and
/proc/sys/fs/cgroup.

7 years agocore: enforce seccomp for secondary archs too, for all rules
Lennart Poettering [Mon, 22 Aug 2016 17:01:14 +0000 (19:01 +0200)] 
core: enforce seccomp for secondary archs too, for all rules

Let's make sure that all our rules apply to all archs the local kernel
supports.

7 years agoMerge pull request #4194 from bboozzoo/bboozzoo/nss-rootlib
Zbigniew Jędrzejewski-Szmek [Sat, 24 Sep 2016 15:40:15 +0000 (11:40 -0400)] 
Merge pull request #4194 from bboozzoo/bboozzoo/nss-rootlib

7 years agoMerge pull request #4182 from jkoelker/routetable
Zbigniew Jędrzejewski-Szmek [Sat, 24 Sep 2016 14:56:13 +0000 (10:56 -0400)] 
Merge pull request #4182 from jkoelker/routetable

7 years agonetworkd: do not drop config for pending interfaces (#4187)
Martin Pitt [Sat, 24 Sep 2016 14:07:45 +0000 (16:07 +0200)] 
networkd: do not drop config for pending interfaces (#4187)

While an interface is still being processed by udev, it is in state "pending",
instead of "unmanaged". We must not flush device configuration then.

Further fixes commit 3104883ddc24 after commit c436d55397.

Fixes #4186

7 years agobuild-sys: get rid of move-to-rootlibdir 4194/head
Maciek Borzecki [Sat, 24 Sep 2016 12:17:30 +0000 (14:17 +0200)] 
build-sys: get rid of move-to-rootlibdir

Replace move-to-rootlibdir calls in post-install hooks with explicitly
used ${rootlibdir} where needed.

Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
7 years agokernel-install: allow plugins to terminate the procedure (#4174)
Zbigniew Jędrzejewski-Szmek [Sat, 24 Sep 2016 13:03:54 +0000 (09:03 -0400)] 
kernel-install: allow plugins to terminate the procedure (#4174)

Replaces #4103.

7 years agoMerge pull request #4207 from fbuihuu/fix-journal-hmac-calculation
Zbigniew Jędrzejewski-Szmek [Sat, 24 Sep 2016 12:57:49 +0000 (08:57 -0400)] 
Merge pull request #4207 from fbuihuu/fix-journal-hmac-calculation

Fix journal hmac calculation.

7 years agosysctl: configure kernel parameters in the order they occur in each sysctl configurat...
HATAYAMA Daisuke [Sat, 24 Sep 2016 12:56:07 +0000 (21:56 +0900)] 
sysctl: configure kernel parameters in the order they occur in each sysctl configuration files (#4205)

Currently, systemd-sysctl command configures kernel parameters in each sysctl
configuration files in random order due to characteristics of iterator of
Hashmap.

However, kernel parameters need to be configured in the order they occur in
each sysctl configuration files.

- For example, consider fs.suid_coredump and kernel.core_pattern. If
  fs.suid_coredump=2 is configured before kernel.core_pattern= whose default
  value is "core", then kernel outputs the following message:

      Unsafe core_pattern used with suid_dumpable=2. Pipe handler or fully qualified core dump path required.

  Note that the security issue mentioned in this message has already been fixed
  on recent kernels, so this is just a warning message on such kernels. But
  it's still confusing to users that this message is output on some boot and
  not output on another boot.

- I don't know but there could be other kernel parameters that are significant
  in the order they are configured.

- The legacy sysctl command configures kernel parameters in the order they
  occur in each sysctl configuration files. Although I didn't find any official
  specification explaining this behavior of sysctl command, I don't think there
  is any meaningful reason to change this behavior, in particular, to the
  random one.

This commit does the change by simply using OrderedHashmap instead of Hashmap.

7 years agonspawn: decouple --boot from CLONE_NEWIPC (#4180)
Luca Bruno [Sat, 24 Sep 2016 12:30:42 +0000 (12:30 +0000)] 
nspawn: decouple --boot from CLONE_NEWIPC (#4180)

This commit is a minor tweak after the split of `--share-system`, decoupling the `--boot`
option from IPC namespacing.

Historically there has been a single `--share-system` option for sharing IPC/PID/UTS with the
host, which was incompatible with boot/pid1 mode. After the split, it is now possible to express
the requirements with better granularity.

For reference, this is a followup to #4023 which contains references to previous discussions.
I realized too late that CLONE_NEWIPC is not strictly needed for boot mode.

7 years agojournal: fix HMAC calculation when appending a data object 4207/head
Franck Bui [Fri, 23 Sep 2016 11:33:01 +0000 (13:33 +0200)] 
journal: fix HMAC calculation when appending a data object

Since commit 5996c7c295e073ce21d41305169132c8aa993ad0 (v190 !), the
calculation of the HMAC is broken because the hash for a data object
including a field is done in the wrong order: the field object is
hashed before the data object is.

However during verification, the hash is done in the opposite order as
objects are scanned sequentially.

7 years agojournal: warn when we fail to append a tag to a journal
Franck Bui [Fri, 23 Sep 2016 10:12:13 +0000 (12:12 +0200)] 
journal: warn when we fail to append a tag to a journal

We shouldn't silently fail when appending the tag to a journal file
since FSS protection will simply be disabled in this case.

7 years agol10n: update Czech translation (#4203)
AsciiWolf [Fri, 23 Sep 2016 05:11:26 +0000 (07:11 +0200)] 
l10n: update Czech translation (#4203)

7 years agomachine: Disable more output when quiet flag is set (#4196)
Wilhelm Schuster [Thu, 22 Sep 2016 19:49:22 +0000 (21:49 +0200)] 
machine: Disable more output when quiet flag is set (#4196)

7 years agol10n: add Czech Translation (#4195)
Daniel Maixner [Wed, 21 Sep 2016 12:42:35 +0000 (14:42 +0200)] 
l10n: add Czech Translation (#4195)

7 years agonss: install nss modules to ${rootlibdir}
Maciek Borzecki [Tue, 20 Sep 2016 19:24:45 +0000 (21:24 +0200)] 
nss: install nss modules to ${rootlibdir}

NSS modules (libnss_*.so.*) need to be installed into
${rootlibdir} (typically /lib) in order to be used. Previously, the
modules were installed into ${libdir}, thus usually ending up in
/usr/lib, even on systems where split usr is enabled, or ${libdir} is
passed explicitly.

Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
7 years agonspawn: fix comment typo in setup_timezone example (#4183)
Michael Pope [Tue, 20 Sep 2016 05:30:48 +0000 (22:30 -0700)] 
nspawn: fix comment typo in setup_timezone example (#4183)

7 years agonetworkd: Allow specifying RouteTable for RAs 4182/head
Jason Kölker [Mon, 19 Sep 2016 02:59:11 +0000 (02:59 +0000)] 
networkd: Allow specifying RouteTable for RAs

7 years agonetworkd: Allow specifying RouteTable for DHCP
Jason Kölker [Mon, 19 Sep 2016 02:26:12 +0000 (02:26 +0000)] 
networkd: Allow specifying RouteTable for DHCP

7 years agojournal: fix typo in comment (#4176)
Felix Zhang [Sun, 18 Sep 2016 09:14:50 +0000 (17:14 +0800)] 
journal: fix typo in comment (#4176)

7 years agoRevert "kernel-install: Add KERNEL_INSTALL_NOOP (#4103)"
Martin Pitt [Sat, 17 Sep 2016 14:39:00 +0000 (16:39 +0200)] 
Revert "kernel-install: Add KERNEL_INSTALL_NOOP (#4103)"

Further discussion showed that this better gets addressed at the packaging
level.

This reverts commit 34210af7c63640fca1fd4a09fc23b01a8cd70bf3.

7 years agoMerge pull request #4123 from keszybz/network-file-dropins
Martin Pitt [Sat, 17 Sep 2016 08:00:19 +0000 (10:00 +0200)] 
Merge pull request #4123 from keszybz/network-file-dropins

Network file dropins

7 years agonspawn: clarify log warning for /etc/localtime not being a symbolic link (#4163)
Michael Pope [Sat, 17 Sep 2016 07:59:28 +0000 (00:59 -0700)] 
nspawn: clarify log warning for /etc/localtime not being a symbolic link (#4163)

7 years agonetworkd: change message about missing Kind 4123/head
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 16:44:50 +0000 (17:44 +0100)] 
networkd: change message about missing Kind

If Kind is not specied, the message about "Invalid Kind" was misleading.
If Kind was specified in an invalid way, we get a message in the parsing
phase anyway. Reword the message to cover both cases better.

7 years agoman: mention that netdev,network files support dropins
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 13:34:07 +0000 (14:34 +0100)] 
man: mention that netdev,network files support dropins

Also update the description of drop-ins in systemd.unit(5) to say that .d
directories, not .conf files, are in /etc/system/system, /run/systemd/system,
etc.

7 years agonetworkd: support drop-in dirs for .network files
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 13:32:19 +0000 (14:32 +0100)] 
networkd: support drop-in dirs for .network files

7 years agoshared/conf-parser: add config_parse_many which takes strv with dirs
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 11:19:41 +0000 (12:19 +0100)] 
shared/conf-parser: add config_parse_many which takes strv with dirs

This way we don't have to create a nulstr just to unpack it in a moment.

7 years agotree-wide: rename config_parse_many to …_nulstr
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 10:02:40 +0000 (11:02 +0100)] 
tree-wide: rename config_parse_many to …_nulstr

In preparation for adding a version which takes a strv.

7 years agonetworkd: support drop-in directories for .network files
Jean-Sébastien Bour [Sat, 9 Jul 2016 14:55:26 +0000 (16:55 +0200)] 
networkd: support drop-in directories for .network files

Fixes #3655.

[zj: Fix the tests.]

7 years agonetworkd-test: add a helper function to always clean up temporary config files
Zbigniew Jędrzejewski-Szmek [Wed, 14 Sep 2016 10:52:40 +0000 (06:52 -0400)] 
networkd-test: add a helper function to always clean up temporary config files

7 years agoUpdated formatting for printing the key for FSS (#4165)
hi117 [Fri, 16 Sep 2016 14:14:55 +0000 (10:14 -0400)] 
Updated formatting for printing the key for FSS (#4165)

The key used to be jammed next to the local file path. Based on the format string on line 1675, I determined that the order of arguments was written incorrectly, and updated the function based on that assumption.

Before:
```
Please write down the following secret verification key. It should be stored
at a safe location and should not be saved locally on disk.

        /var/log/journal/9b47c1a5b339412887a197b7654673a7/fss8f66d6-f0a998-f782d0-1fe522/18fdb8-35a4e900

The sealing key is automatically changed every 15min.
```

After:
```
Please write down the following secret verification key. It should be stored
at a safe location and should not be saved locally on disk.

        d53ed4-cc43d6-284e10-8f0324/18fdb8-35a4e900

The sealing key is automatically changed every 15min.
```

7 years agoman: Update example for downloading a Fedora image (#4166)
Stefan Schweter [Fri, 16 Sep 2016 12:22:12 +0000 (14:22 +0200)] 
man: Update example for downloading a Fedora image (#4166)

7 years agoman: update url to openpgpkey rfc (#4156)
Stefan [Fri, 16 Sep 2016 02:55:22 +0000 (04:55 +0200)] 
man: update url to openpgpkey rfc (#4156)

7 years agoMerge pull request #4131 from intelfx/update-done-timestamps-precision
Zbigniew Jędrzejewski-Szmek [Fri, 16 Sep 2016 02:53:00 +0000 (22:53 -0400)] 
Merge pull request #4131 from intelfx/update-done-timestamps-precision

condition: ignore nanoseconds in timestamps for ConditionNeedsUpdate=

Fixes #4130.

7 years agologind: fix /run/user/$UID creation in apparmor-confined containers (#4154)
Tomáš Janoušek [Thu, 15 Sep 2016 23:26:31 +0000 (01:26 +0200)] 
logind: fix /run/user/$UID creation in apparmor-confined containers (#4154)

When a docker container is confined with AppArmor [1] and happens to run
on top of a kernel that supports mount mediation [2], e.g. any Ubuntu
kernel, mount(2) returns EACCES instead of EPERM.  This then leads to:

    systemd-logind[33]: Failed to mount per-user tmpfs directory /run/user/1000: Permission denied
    login[42]: pam_systemd(login:session): Failed to create session: Access denied

and user sessions don't start.

This also applies to selinux that too returns EACCES on mount denial.

[1] https://github.com/docker/docker/blob/master/docs/security/apparmor.md#understand-the-policies
[2] http://bazaar.launchpad.net/~apparmor-dev/apparmor/master/view/head:/kernel-patches/4.7/0025-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch

7 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Thu, 15 Sep 2016 20:09:35 +0000 (22:09 +0200)] 
hwdb: Update database of Bluetooth company identifiers

7 years agotest-execute: fix %n typo (#4153)
Zbigniew Jędrzejewski-Szmek [Thu, 15 Sep 2016 12:21:42 +0000 (08:21 -0400)] 
test-execute: fix %n typo (#4153)

7 years agoMerge pull request #4150 from ssahani/net1
Martin Pitt [Thu, 15 Sep 2016 10:20:09 +0000 (12:20 +0200)] 
Merge pull request #4150 from ssahani/net1

networkd: trivial fixes

7 years agoUpdate systemctl.xml (#4151)
kristbaum [Thu, 15 Sep 2016 07:11:33 +0000 (09:11 +0200)] 
Update systemctl.xml (#4151)

7 years agohwdb: add Lenovo *40 series resolution fixes (#4149)
Peter Hutterer [Thu, 15 Sep 2016 06:16:05 +0000 (16:16 +1000)] 
hwdb: add Lenovo *40 series resolution fixes (#4149)

7 years agonetworkd: network fix log message 4150/head
Susant Sahani [Thu, 15 Sep 2016 04:49:26 +0000 (10:19 +0530)] 
networkd: network fix log message

7 years agonetworkd: netdev fixup copy paste error
Susant Sahani [Thu, 15 Sep 2016 04:48:59 +0000 (10:18 +0530)] 
networkd: netdev fixup copy paste error

7 years agoTODO: update networkd TODO
Susant Sahani [Thu, 15 Sep 2016 04:48:22 +0000 (10:18 +0530)] 
TODO: update networkd TODO

7 years agoupdate-done, condition: write the timestamp to the file as well and use it to prevent... 4131/head
Ivan Shapovalov [Tue, 13 Sep 2016 00:04:35 +0000 (03:04 +0300)] 
update-done, condition: write the timestamp to the file as well and use it to prevent false-positives

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=90192 and #4130
for real. Also, remove timestamp check in update-done.c altogether since
the whole operation is idempotent.

7 years agotime-util: export timespec_load_nsec()
Ivan Shapovalov [Thu, 15 Sep 2016 02:19:31 +0000 (05:19 +0300)] 
time-util: export timespec_load_nsec()

7 years agoshell-completion: add --wait to systemd-run completions (#4140)
Davide Cavalca [Wed, 14 Sep 2016 20:38:53 +0000 (13:38 -0700)] 
shell-completion: add --wait to systemd-run completions (#4140)

7 years agogitignore: ignore image.raw from mkosi (#4141)
Davide Cavalca [Wed, 14 Sep 2016 17:15:21 +0000 (10:15 -0700)] 
gitignore: ignore image.raw from mkosi (#4141)

7 years agonetworkd: add support to configure virtual CAN device (#4139)
Susant Sahani [Wed, 14 Sep 2016 16:15:16 +0000 (21:45 +0530)] 
networkd: add support to configure virtual CAN device (#4139)

1. add support for kind vcan
2. fixup indention netlink-types.c, networkd-netdev.c

7 years agoMerge pull request #4133 from keszybz/strerror-removal
Martin Pitt [Wed, 14 Sep 2016 09:17:58 +0000 (11:17 +0200)] 
Merge pull request #4133 from keszybz/strerror-removal

Strerror removal and other janitorial cleanups

7 years agokernel-install: Add KERNEL_INSTALL_NOOP (#4103)
Colin Walters [Wed, 14 Sep 2016 05:57:43 +0000 (01:57 -0400)] 
kernel-install: Add KERNEL_INSTALL_NOOP (#4103)

Will be used by rpm-ostree (and likely lorax) to suppress
RPM->kernel->%posttrans->dracut runs, and basically everything
else this script is doing.

I'll also likely change the `kernel.spec` to respect this as well.

7 years agoNEWS: add a bunch of stuff for the 232 release (#4132)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Sep 2016 05:40:02 +0000 (01:40 -0400)] 
NEWS: add a bunch of stuff for the 232 release (#4132)

This does not include the description of the mixed v1/v2 mode, but
everything important apart from that should be covered.

7 years agoTODO: remove duplicated item 4133/head
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 19:20:33 +0000 (20:20 +0100)] 
TODO: remove duplicated item

7 years agoAlways use unicode ellipsis when ellipsizing
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 19:09:36 +0000 (20:09 +0100)] 
Always use unicode ellipsis when ellipsizing

We were already unconditionally using the unicode character when the
input string was not pure ASCII, leading to different behaviour in
depending on the input string.

systemd[1]: Starting printit.service.
python3[19962]: foooooooooooooooooooooooooooooooooooo…oooo
python3[19964]: fooąęoooooooooooooooooooooooooooooooo…oooo
python3[19966]: fooąęoooooooooooooooooooooooooooooooo…ąęąę
python3[19968]: fooąęoooooooooooooooooąęąęąęąęąęąęąęą…ąęąę
systemd[1]: Started printit.service.

7 years agoTODO: remove strerror entry
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:56:50 +0000 (19:56 +0100)] 
TODO: remove strerror entry

I believe the remaining call sites are legitimate uses which cannot be
easily replaced with %m.

7 years agotests: get rid of strerror
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:55:34 +0000 (19:55 +0100)] 
tests: get rid of strerror

7 years agotree-wide: use %m in calls to sd_bus_error_set_errnof
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:54:35 +0000 (19:54 +0100)] 
tree-wide: use %m in calls to sd_bus_error_set_errnof

sd_bus_error_set_errnof supports %m, so there's no need to call
strerror manually.

7 years agojournal-verify: get rid of strerror
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:41:33 +0000 (19:41 +0100)] 
journal-verify: get rid of strerror

7 years agomicrohttpd-util: add the trailing newline automatically
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:33:37 +0000 (19:33 +0100)] 
microhttpd-util: add the trailing newline automatically

It's prone to error and annoying to have to add it manually. It was
missing from a few places.

7 years agojournal-remote: implement %m support in mhd_respondf
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:24:45 +0000 (19:24 +0100)] 
journal-remote: implement %m support in mhd_respondf

errno value is not protected (it is undefined after this function returns).
Various mhd_* functions are not documented to protect errno, so this could not
guaranteed anyway.

7 years agoudev: use get_proc_cmdline_key instead of FOREACH_WORD_QUOTED
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 18:03:35 +0000 (19:03 +0100)] 
udev: use get_proc_cmdline_key instead of FOREACH_WORD_QUOTED

7 years agoman: "disabled on" does not sound right
Zbigniew Jędrzejewski-Szmek [Mon, 12 Sep 2016 17:46:19 +0000 (18:46 +0100)] 
man: "disabled on" does not sound right

7 years agofileio: simplify mkostemp_safe() (#4090)
Topi Miettinen [Tue, 13 Sep 2016 06:20:38 +0000 (06:20 +0000)] 
fileio: simplify mkostemp_safe() (#4090)

According to its manual page, flags given to mkostemp(3) shouldn't include
O_RDWR, O_CREAT or O_EXCL flags as these are always included. Beyond
those, the only flag that all callers (except a few tests where it
probably doesn't matter) use is O_CLOEXEC, so set that unconditionally.

7 years agoRelicense hwdb/parse_hwdb.py as MIT (#4129)
Zbigniew Jędrzejewski-Szmek [Tue, 13 Sep 2016 06:18:13 +0000 (07:18 +0100)] 
Relicense hwdb/parse_hwdb.py as MIT (#4129)

This parser will also be used in libinput, which uses the MIT license, so
relicense this file to the more permissive license to make bidirectional code
flow easier. parse_hwdb.py is only useful during building of the project, and
is not part of the installation, so effectively both licenses are very similar.
In particular, the licensing of binary packages produced by systemd is not
influenced in any way, because the MIT licensed part is not installed.

7 years agohwdb: add Lenovo X1 Tablet pointing stick speed fix (#4128)
dwassenberg [Mon, 12 Sep 2016 12:29:55 +0000 (14:29 +0200)] 
hwdb: add Lenovo X1 Tablet pointing stick speed fix (#4128)

Like many other recent thinkpads the factory default pointingstick
sensitivity on these devices is quite low, making the pointingstick
very slow in moving the cursor.

This extends the existing hwdb rules for tweaking the sensitivity to
also apply to the X1 Tablet models.

Signed-off-by: Dennis Wassenberg <dennis.wassenberg@secunet.com>
7 years agoshared/install: fix set-default with empty root (#4118)
Zbigniew Jędrzejewski-Szmek [Sat, 10 Sep 2016 11:07:51 +0000 (12:07 +0100)] 
shared/install: fix set-default with empty root (#4118)

https://bugzilla.redhat.com/show_bug.cgi?id=1374371

When root was empty or equal to "/", chroot_symlinks_same was called with
root==NULL, and strjoina returned "", so the code thought both paths are equal
even if they were not. Fix that by always providing a non-null first argument
to strjoina.

7 years agotest-fs-util: also empty TEMP and TMP env vars (#4121)
Marc-Antoine Perennou [Sat, 10 Sep 2016 07:38:04 +0000 (09:38 +0200)] 
test-fs-util: also empty TEMP and TMP env vars (#4121)

A follow-up for #3818 (992e8f2).

7 years agoMerge pull request #4119 from keszybz/drop-more-kdbus
Evgeny Vereshchagin [Sat, 10 Sep 2016 06:26:43 +0000 (09:26 +0300)] 
Merge pull request #4119 from keszybz/drop-more-kdbus

Drop more kdbus functionality

7 years agoservice: fixup ExecStop for socket-activated shutdown (#4120)
Kyle Russell [Sat, 10 Sep 2016 05:55:36 +0000 (01:55 -0400)] 
service: fixup ExecStop for socket-activated shutdown (#4120)

Previous fix didn't consider handling multiple ExecStop commands.

7 years agoshared: recognize DNS names with more than one trailing dot as invalid (#4111)
Martin Pitt [Fri, 9 Sep 2016 15:11:54 +0000 (17:11 +0200)] 
shared: recognize DNS names with more than one trailing dot as invalid (#4111)

One trailing dot is valid, but more than one isn't. This also fixes glibc's
posix/tst-getaddrinfo5 test.

Fixes #3978.

7 years agounit: sent change signal before removing the unit if necessary (#4106)
Michael Olbrich [Fri, 9 Sep 2016 15:05:06 +0000 (17:05 +0200)] 
unit: sent change signal before removing the unit if necessary (#4106)

If the unit is in the dbus queue when it is removed then the last change
signal is never sent. Fix this by checking the dbus queue and explicitly
send the change signal before sending the remove signal.

7 years agopid1: drop kdbus_fd and all associated logic 4119/head
Zbigniew Jędrzejewski-Szmek [Fri, 9 Sep 2016 14:16:26 +0000 (15:16 +0100)] 
pid1: drop kdbus_fd and all associated logic