]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
8 years agoMerge pull request #1150 from evverx/update-systemctl-completion
Lennart Poettering [Sat, 5 Sep 2015 10:25:52 +0000 (12:25 +0200)] 
Merge pull request #1150 from evverx/update-systemctl-completion

shell-completion: update systemctl bash completion

8 years agoMerge pull request #1149 from martinpitt/fix-dhcp-error-codes
Lennart Poettering [Sat, 5 Sep 2015 10:21:20 +0000 (12:21 +0200)] 
Merge pull request #1149 from martinpitt/fix-dhcp-error-codes

networkd: adjust error codes for nonexisting DHCP data

8 years agoMerge pull request #1146 from martinpitt/master
Lennart Poettering [Sat, 5 Sep 2015 10:14:55 +0000 (12:14 +0200)] 
Merge pull request #1146 from martinpitt/master

tests: Skip tests which need to access /sys/fs/cgroup if that is not …

8 years agoNEWS: add entries for v226
David Herrmann [Sat, 5 Sep 2015 09:09:44 +0000 (11:09 +0200)] 
NEWS: add entries for v226

Initial set of features for the upcoming v226 release next week. This is
mostly about the unified cgroup hierarchy and DHCP.

8 years agoshell-completion: update systemctl bash completion 1150/head
Evgeny Vereshchagin [Fri, 4 Sep 2015 20:04:10 +0000 (23:04 +0300)] 
shell-completion: update systemctl bash completion

Many new options have been added since the bash completion was last
updated.

8 years agonetworkd: adjust error codes for nonexisting DHCP data 1149/head
Martin Pitt [Fri, 4 Sep 2015 19:16:35 +0000 (21:16 +0200)] 
networkd: adjust error codes for nonexisting DHCP data

Commit 0339cd770 changed libsystemd-network's error code for missing DHCP lease
data from ENOENT to ENODATA. Adjust networkd accordingly.

This fixes interfaces being stuck in "degraded/configuring" mode forever.

https://github.com/systemd/systemd/issues/1147

8 years agotests: Skip tests which need to access /sys/fs/cgroup if that is not available 1146/head
Martin Pitt [Fri, 4 Sep 2015 14:34:21 +0000 (16:34 +0200)] 
tests: Skip tests which need to access /sys/fs/cgroup if that is not available

Commit efdb023 ("core: unified cgroup hierarchy support") introduced a new
error ENOEXEC in cg_unified() if /sys/fs/cgroup/ is not available. Adjust the
"skip" checks in various tests accordingly.

Add a corresponding "skip" check to test-bus-creds as well, as
sd_bus_creds_new_from_pid() now calls cg_unified() as well.

This re-fixes "make check" in build chroots without /sys/fs/cgroup.

https://github.com/systemd/systemd/issues/1132

8 years agoMerge pull request #1142 from dvdhrm/proxy-nofile
Lennart Poettering [Fri, 4 Sep 2015 10:45:10 +0000 (12:45 +0200)] 
Merge pull request #1142 from dvdhrm/proxy-nofile

bus-proxy: increase NOFILE limit

8 years agoMerge pull request #1141 from poettering/logind-fixes
Daniel Mack [Fri, 4 Sep 2015 10:13:45 +0000 (12:13 +0200)] 
Merge pull request #1141 from poettering/logind-fixes

Various logind fixes

8 years agobus-proxy: increase NOFILE limit 1142/head
David Herrmann [Fri, 4 Sep 2015 09:13:32 +0000 (11:13 +0200)] 
bus-proxy: increase NOFILE limit

The bus-proxy manages the kdbus connections of all users on the system
(regarding the system bus), hence, it needs an elevated NOFILE.
Otherwise, a single user can trigger ENFILE by opening NOFILE connections
to the bus-proxy.

Note that the bus-proxy still does per-user accounting, indirectly via
the proxy/fake API of kdbus. Hence, the effective per-user limit is not
raised by this. However, we now prevent one user from consuming the whole
FD limit of the shared proxy.

Also note that there is no *perfect* way to set this. The proxy is a
shared object, so it needs a larger NOFILE limit than the highest limit
of all users. This limit can be changed dynamically, though. Hence, we
cannot protect against it. However, a raised NOFILE limit is a privilege,
so we just treat it as such and basically allow these privileged users to
be able to consume more resources than normal users (and, maybe, cause
some limits to be exceeded by this).

Right now, kdbus hard-codes 1024 max connections per user on each bus.
However, we *must not* rely on this. This limits could be easily dropped
entirely, as the NOFILE limit is a suitable limit on its on.

8 years agologind: when parsing a boolean via sd-bus the type must be "int" 1141/head
Lennart Poettering [Fri, 4 Sep 2015 08:35:46 +0000 (10:35 +0200)] 
logind: when parsing a boolean via sd-bus the type must be "int"

And not bool.

8 years agologind: treat an empty wall message like a NULL one
Lennart Poettering [Fri, 4 Sep 2015 08:34:47 +0000 (10:34 +0200)] 
logind: treat an empty wall message like a NULL one

8 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Fri, 4 Sep 2015 00:51:50 +0000 (02:51 +0200)] 
hwdb: Update database of Bluetooth company identifiers

8 years agoudev: ignore ENOEXEC from cgroup lookup
David Herrmann [Thu, 3 Sep 2015 13:18:06 +0000 (15:18 +0200)] 
udev: ignore ENOEXEC from cgroup lookup

The recent cgroup-rework changed the error code for un-mounted cgroupfs to
ENOEXEC. Make sure udev ignores it just like ENOENT and does not spill
warnings on the screen.

8 years agoMerge pull request #1127 from neheb/master
Daniel Mack [Thu, 3 Sep 2015 10:35:48 +0000 (12:35 +0200)] 
Merge pull request #1127 from neheb/master

hwdb: Add Mionix Mouse

8 years agoMerge pull request #1134 from reverendhomer/patch-1
Lennart Poettering [Thu, 3 Sep 2015 09:22:19 +0000 (11:22 +0200)] 
Merge pull request #1134 from reverendhomer/patch-1

cgroup-util: Removed unreachable statement in cg_get_path

8 years agocg_get_path: Removed unreachable statement 1134/head
reverendhomer [Thu, 3 Sep 2015 08:34:47 +0000 (11:34 +0300)] 
cg_get_path: Removed unreachable statement

controller cannot be NULL because if-statement in L509 has return
Coverity #1322379

8 years agoMerge pull request #1123 from phomes/scope-no-bool-vs-int
Lennart Poettering [Wed, 2 Sep 2015 23:12:58 +0000 (01:12 +0200)] 
Merge pull request #1123 from phomes/scope-no-bool-vs-int

scope: do not compare a bool return with "<= 0"

8 years agoMerge pull request #1126 from phomes/indentation2
Lennart Poettering [Wed, 2 Sep 2015 23:12:07 +0000 (01:12 +0200)] 
Merge pull request #1126 from phomes/indentation2

tree-wide: fix indentation

8 years agoAdd Mionix Mouse 1127/head
Mangix [Wed, 2 Sep 2015 22:56:57 +0000 (15:56 -0700)] 
Add Mionix Mouse

8 years agotree-wide: fix indentation 1126/head
Thomas Hindoe Paaboel Andersen [Wed, 2 Sep 2015 18:46:22 +0000 (20:46 +0200)] 
tree-wide: fix indentation

8 years agoscope: do not compare a bool return with "<= 0" 1123/head
Thomas Hindoe Paaboel Andersen [Wed, 2 Sep 2015 17:58:12 +0000 (19:58 +0200)] 
scope: do not compare a bool return with "<= 0"

8 years agoMerge pull request #1119 from teg/virtio-names
Kay Sievers [Wed, 2 Sep 2015 12:30:49 +0000 (14:30 +0200)] 
Merge pull request #1119 from teg/virtio-names

udev: net_id - support predictable ifnames on virtio buses

8 years agoudev: net_id - support predictable ifnames on virtio buses 1119/head
Tom Gundersen [Tue, 25 Aug 2015 12:12:19 +0000 (14:12 +0200)] 
udev: net_id - support predictable ifnames on virtio buses

Virtio buses are undeterministically enumerated, so we cannot use them as a basis
for deterministic naming (see bf81e792f3c0). However, we are guaranteed that there
is only ever one virtio bus for every parent device, so we can simply skip over
the virtio buses when naming the devices.

8 years agoMerge pull request #1118 from jsynacek/man-dot-d-v2
Lennart Poettering [Wed, 2 Sep 2015 09:30:08 +0000 (11:30 +0200)] 
Merge pull request #1118 from jsynacek/man-dot-d-v2

man: *.d conf directories: add note about initrd regeneration

8 years agoMerge pull request #1116 from poettering/unified-rebased
Lennart Poettering [Wed, 2 Sep 2015 09:21:24 +0000 (11:21 +0200)] 
Merge pull request #1116 from poettering/unified-rebased

core: unified cgroup hierarchy support

8 years agoMerge pull request #1112 from poettering/sd-bus-container-fixes
David Herrmann [Wed, 2 Sep 2015 09:14:41 +0000 (11:14 +0200)] 
Merge pull request #1112 from poettering/sd-bus-container-fixes

machined and sd-bus container fixes

8 years agoman: *.d conf directories: add note about initrd regeneration 1118/head
Jan Synacek [Tue, 1 Sep 2015 12:21:37 +0000 (14:21 +0200)] 
man: *.d conf directories: add note about initrd regeneration

8 years agoMerge pull request #1117 from evverx/detect-parallels-virt
Daniel Mack [Wed, 2 Sep 2015 06:00:38 +0000 (08:00 +0200)] 
Merge pull request #1117 from evverx/detect-parallels-virt

virt: detect parallels virtualization

8 years agovirt: detect parallels virtualization 1117/head
Evgeny Vereshchagin [Wed, 2 Sep 2015 01:43:32 +0000 (01:43 +0000)] 
virt: detect parallels virtualization

inspired by http://people.redhat.com/~rjones/virt-what/

see:
* http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in;h=a5ed33ef3e4bfa3281c9589eccac4d92dff1babe;hb=HEAD#l200
* http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in;h=a5ed33ef3e4bfa3281c9589eccac4d92dff1babe;hb=HEAD#l253

8 years agocore: unified cgroup hierarchy support 1116/head
Lennart Poettering [Tue, 1 Sep 2015 17:22:36 +0000 (19:22 +0200)] 
core: unified cgroup hierarchy support

This patch set adds full support the new unified cgroup hierarchy logic
of modern kernels.

A new kernel command line option "systemd.unified_cgroup_hierarchy=1" is
added. If specified the unified hierarchy is mounted to /sys/fs/cgroup
instead of a tmpfs. No further hierarchies are mounted. The kernel
command line option defaults to off. We can turn it on by default as
soon as the kernel's APIs regarding this are stabilized (but even then
downstream distros might want to turn this off, as this will break any
tools that access cgroupfs directly).

It is possibly to choose for each boot individually whether the unified
or the legacy hierarchy is used. nspawn will by default provide the
legacy hierarchy to containers if the host is using it, and the unified
otherwise. However it is possible to run containers with the unified
hierarchy on a legacy host and vice versa, by setting the
$UNIFIED_CGROUP_HIERARCHY environment variable for nspawn to 1 or 0,
respectively.

The unified hierarchy provides reliable cgroup empty notifications for
the first time, via inotify. To make use of this we maintain one
manager-wide inotify fd, and each cgroup to it.

This patch also removes cg_delete() which is unused now.

On kernel 4.2 only the "memory" controller is compatible with the
unified hierarchy, hence that's the only controller systemd exposes when
booted in unified heirarchy mode.

This introduces a new enum for enumerating supported controllers, plus a
related enum for the mask bits mapping to it. The core is changed to
make use of this everywhere.

This moves PID 1 into a new "init.scope" implicit scope unit in the root
slice. This is necessary since on the unified hierarchy cgroups may
either contain subgroups or processes but not both. PID 1 hence has to
move out of the root cgroup (strictly speaking the root cgroup is the
only one where processes and subgroups are still allowed, but in order
to support containers nicey, we move PID 1 into the new scope in all
cases.) This new unit is also used on legacy hierarchy setups. It's
actually pretty useful on all systems, as it can then be used to filter
journal messages coming from PID 1, and so on.

The root slice ("-.slice") is now implicitly created and started (and
does not require a unit file on disk anymore), since
that's where "init.scope" is located and the slice needs to be started
before the scope can.

To check whether we are in unified or legacy hierarchy mode we use
statfs() on /sys/fs/cgroup. If the .f_type field reports tmpfs we are in
legacy mode, if it reports cgroupfs we are in unified mode.

This patch set carefuly makes sure that cgls and cgtop continue to work
as desired.

When invoking nspawn as a service it will implicitly create two
subcgroups in the cgroup it is using, one to move the nspawn process
into, the other to move the actual container processes into. This is
done because of the requirement that cgroups may either contain
processes or other subgroups.

8 years agoMerge pull request #1115 from phomes/hwdb-mice
Lennart Poettering [Tue, 1 Sep 2015 20:07:58 +0000 (22:07 +0200)] 
Merge pull request #1115 from phomes/hwdb-mice

hwdb: more mice

8 years agohwdb: more mice 1115/head
Thomas Hindoe Paaboel Andersen [Tue, 1 Sep 2015 20:01:22 +0000 (22:01 +0200)] 
hwdb: more mice

8 years agoMerge pull request #1098 from filbranden/cpuaffinity2
Lennart Poettering [Tue, 1 Sep 2015 18:52:52 +0000 (20:52 +0200)] 
Merge pull request #1098 from filbranden/cpuaffinity2

Getting rid of FOREACH_WORD_QUOTED and some more cleanup in config_parse_cpu_affinity2

8 years agoMerge pull request #1107 from msekletar/selinux-get-raw-context
Lennart Poettering [Tue, 1 Sep 2015 18:46:27 +0000 (20:46 +0200)] 
Merge pull request #1107 from msekletar/selinux-get-raw-context

selinux: always use *_raw API from libselinux

8 years agosd-bus: when connecting to a container, don't fall back to host bus 1112/head
Lennart Poettering [Tue, 1 Sep 2015 18:38:37 +0000 (20:38 +0200)] 
sd-bus: when connecting to a container, don't fall back to host bus

We should never connect to the host bus as fallback if connecting to a
container failed via one method. Otherwise connecting to a dbus1
container will always result in a connection to the host.

8 years agosd-bus: when connecting to a kdbus container bus pass error up
Lennart Poettering [Tue, 1 Sep 2015 18:36:52 +0000 (20:36 +0200)] 
sd-bus: when connecting to a kdbus container bus pass error up

We rely on the correct error used when opening the kdbus device node,
hence let's make sure we pass it up from the namespaced child process to
the process which actually wants to connect.

8 years agomachined: introduce a ptsname_namespace() call and make use of it
Lennart Poettering [Tue, 1 Sep 2015 18:12:25 +0000 (20:12 +0200)] 
machined: introduce a ptsname_namespace() call and make use of it

The call is like ptsname() but does not assume the pty path was
accessible in the local namespace. It uses the same internal ioctl
though.

8 years agomachined: call unlockpt() in container, not host
Lennart Poettering [Tue, 1 Sep 2015 17:39:14 +0000 (19:39 +0200)] 
machined: call unlockpt() in container, not host

It makes assumptions about the pty path, hence better call it in the
container namespace rather than the host.

8 years agocore: Log parse errors in config_parse_cpu_affinity2 1098/head
Filipe Brandenburger [Tue, 1 Sep 2015 18:10:09 +0000 (11:10 -0700)] 
core: Log parse errors in config_parse_cpu_affinity2

8 years agoMerge pull request #1111 from poettering/more-cgroup-fixes
Tom Gundersen [Tue, 1 Sep 2015 17:48:04 +0000 (19:48 +0200)] 
Merge pull request #1111 from poettering/more-cgroup-fixes

More cgroup fixes

8 years agoMerge pull request #1099 from filbranden/joincontrollers2
Lennart Poettering [Tue, 1 Sep 2015 17:10:45 +0000 (19:10 +0200)] 
Merge pull request #1099 from filbranden/joincontrollers2

Getting rid of FOREACH_WORD_QUOTED in config_parse_join_controllers

8 years agoMerge pull request #1102 from heftig/master
Lennart Poettering [Tue, 1 Sep 2015 17:09:42 +0000 (19:09 +0200)] 
Merge pull request #1102 from heftig/master

build-sys: Look for gcc-* binutils wrappers only if we're using GCC

8 years agoMerge pull request #1109 from phomes/man-typos
Lennart Poettering [Tue, 1 Sep 2015 17:08:55 +0000 (19:08 +0200)] 
Merge pull request #1109 from phomes/man-typos

man: fix typos in systemd-path.xml

8 years agoMerge pull request #1110 from evverx/run-interactive-auth
Lennart Poettering [Tue, 1 Sep 2015 17:08:17 +0000 (19:08 +0200)] 
Merge pull request #1110 from evverx/run-interactive-auth

run: enable interactive authorization

8 years agocore: rework when we kill with which signal 1111/head
Lennart Poettering [Tue, 1 Sep 2015 16:54:08 +0000 (18:54 +0200)] 
core: rework when we kill with which signal

When the user wants to explicitly send our own PID a signal, then do so.

Don't follow up SIGABRT with a SIGHUP if send_sighup is enabled. At that
point the process should have segfaulted, hence there's no point in
following up with a SIGHUP.

Send only termination signals to ourselves, never KILL or ABRT signals.

8 years agocore: don't allow changing the slice of a unit while it is active
Lennart Poettering [Tue, 1 Sep 2015 16:53:29 +0000 (18:53 +0200)] 
core: don't allow changing the slice of a unit while it is active

8 years agounit: small clean-ups
Lennart Poettering [Tue, 1 Sep 2015 16:51:44 +0000 (18:51 +0200)] 
unit: small clean-ups

Always say when we ignore errors. Cast calls whose return value we
knowingly ingore to (void). Use "bool" where we actually mean a boolean,
even if we return it as an int later on.

8 years agocore: when looking for the unit for a process, look at the PID hashmaps first
Lennart Poettering [Tue, 1 Sep 2015 16:47:46 +0000 (18:47 +0200)] 
core: when looking for the unit for a process, look at the PID hashmaps first

It's cheaper that going to cgroupfs, and also usually the better choice
since it's not racy and can map PIDs even if they were moved to a
different unit.

8 years agorun: enable interactive authorization 1110/head
Evgeny Vereshchagin [Tue, 1 Sep 2015 16:43:08 +0000 (16:43 +0000)] 
run: enable interactive authorization

8 years agocgroup: the root cgroup is always populated
Lennart Poettering [Tue, 1 Sep 2015 16:36:28 +0000 (18:36 +0200)] 
cgroup: the root cgroup is always populated

8 years agocgroup: drop "ignore_self" argument from cg_is_empty()
Lennart Poettering [Tue, 1 Sep 2015 16:32:07 +0000 (18:32 +0200)] 
cgroup: drop "ignore_self" argument from cg_is_empty()

In all cases where the function (or cg_is_empty_recursive()) ignoring
the calling process is actually wrong, as a process keeps a cgroup busy
regardless if its the current one or another. Hence, let's simplify
things and drop the "ignore_self" parameter.

8 years agocgroup: small cleanups and coding style fixes
Lennart Poettering [Tue, 1 Sep 2015 16:02:43 +0000 (18:02 +0200)] 
cgroup: small cleanups and coding style fixes

A number of simplications and adjustments to brings things closer to our
coding style.

8 years agocgroup: don't allow hidden cgroups
Lennart Poettering [Tue, 1 Sep 2015 15:54:17 +0000 (17:54 +0200)] 
cgroup: don't allow hidden cgroups

We really should care for all cgroups, and not allow hidden ones.

8 years agocgroup: never migrate kernel threads out of the root cgroup
Lennart Poettering [Tue, 1 Sep 2015 15:53:14 +0000 (17:53 +0200)] 
cgroup: never migrate kernel threads out of the root cgroup

It won't work anyway.

8 years agoMerge pull request #1108 from phomes/dont-shadow-globals
David Herrmann [Tue, 1 Sep 2015 16:33:54 +0000 (18:33 +0200)] 
Merge pull request #1108 from phomes/dont-shadow-globals

tree-wide: do not shadow the global var timezone

8 years agoman: fix typos in systemd-path.xml 1109/head
Thomas Hindoe Paaboel Andersen [Tue, 1 Sep 2015 16:31:04 +0000 (18:31 +0200)] 
man: fix typos in systemd-path.xml

8 years agotree-wide: do not shadow the global var timezone 1108/head
Thomas Hindoe Paaboel Andersen [Sun, 30 Aug 2015 01:18:33 +0000 (03:18 +0200)] 
tree-wide: do not shadow the global var timezone

8 years agounits: enable waiting for unit termination in certain cases
Lennart Poettering [Tue, 1 Sep 2015 15:25:59 +0000 (17:25 +0200)] 
units: enable waiting for unit termination in certain cases

The legacy cgroup hierarchy does not support reliable empty
notifications in containers and if there are left-over subgroups in a
cgroup. This makes it hard to correctly wait for them running empty, and
thus we previously disabled this logic entirely.

With this change we explicitly check for the container case, and whether
the unit is a "delegation" unit (i.e. one where programs may create
their own subgroups). If we are neither in a container, nor operating on
a delegation unit cgroup empty notifications become reliable and thus we
start waiting for the empty notifications again.

This doesn't really fix the general problem around cgroup notifications
but reduces the effect around it.

(This also reorders #include lines by their focus, as suggsted in
CODING_STYLE. We have to add "virt.h", so let's do that at the right
place.)

Also see #317.

8 years agocore: add OOM check in config_parse_join_controllers 1099/head
Filipe Brandenburger [Tue, 1 Sep 2015 15:31:34 +0000 (08:31 -0700)] 
core: add OOM check in config_parse_join_controllers

8 years agocore: Log parse errors in config_parse_join_controllers
Filipe Brandenburger [Tue, 1 Sep 2015 15:30:26 +0000 (08:30 -0700)] 
core: Log parse errors in config_parse_join_controllers

8 years agounit: suppress unnecessary cgroup empty check
Lennart Poettering [Tue, 1 Sep 2015 14:45:34 +0000 (16:45 +0200)] 
unit: suppress unnecessary cgroup empty check

Rework the "service is good" check, to only check the cgroup state if we
really need to instead of always.

This allows us to suppress going to the cgroupfs for an empty check for
the majority of services.

No functional change.

8 years agomanager: don't write first-boot flag file all the time
Lennart Poettering [Tue, 1 Sep 2015 00:34:19 +0000 (02:34 +0200)] 
manager: don't write first-boot flag file all the time

Instead, remember that we have already written it.

8 years agosd-login: improve error handling
Lennart Poettering [Mon, 31 Aug 2015 22:40:20 +0000 (00:40 +0200)] 
sd-login: improve error handling

let's return ENXIO whenever we don't know something rather than ENOENT.

ENOENT suggests this was really about a file or directory, while ENXIO
is a more generic "not found" indicator.

8 years agocgtop: properly show "/" instead of empty string in cgroup list
Lennart Poettering [Mon, 31 Aug 2015 17:43:54 +0000 (19:43 +0200)] 
cgtop: properly show "/" instead of empty string in cgroup list

8 years agoset: return NULL on destructors
Lennart Poettering [Tue, 1 Sep 2015 15:13:53 +0000 (17:13 +0200)] 
set: return NULL on destructors

Like we do it pretty much everywhere else.

8 years agoselinux: always use *_raw API from libselinux 1107/head
Michal Sekletar [Tue, 1 Sep 2015 14:02:58 +0000 (16:02 +0200)] 
selinux: always use *_raw API from libselinux

When mcstransd* is running non-raw functions will return translated SELinux
context. Problem is that libselinux will cache this information and in the
future it will return same context even though mcstransd maybe not running at
that time. If you then check with such context against SELinux policy then
selinux_check_access may fail depending on whether mcstransd is running or not.

To workaround this problem/bug in libselinux, we should always get raw context
instead. Most users will not notice because result of access check is logged
only in debug mode.

* SELinux context translation service, which will translates labels to human
  readable form

8 years agobuild-sys: Look for gcc-* binutils wrappers only if we're using GCC 1102/head
Jan Alexander Steffens (heftig) [Tue, 1 Sep 2015 11:14:23 +0000 (13:14 +0200)] 
build-sys: Look for gcc-* binutils wrappers only if we're using GCC

If we don't look for them, LT_INIT will and default to the unprefixed
tools.

Apparently clang doesn't like the wrappers being used. Should fix #1077.

8 years agoMerge pull request #1066 from ssahani/tunnel
Lennart Poettering [Tue, 1 Sep 2015 10:02:10 +0000 (12:02 +0200)] 
Merge pull request #1066 from ssahani/tunnel

networkd: add support for tunnel encap limit

8 years agoMerge pull request #1100 from martinpitt/master
Lennart Poettering [Tue, 1 Sep 2015 09:34:26 +0000 (11:34 +0200)] 
Merge pull request #1100 from martinpitt/master

logind: Listen to WMI hotkeys to catch SW_DOCK state/events

8 years agologind: Listen to WMI hotkeys to catch SW_DOCK state/events 1100/head
Martin Pitt [Tue, 1 Sep 2015 08:51:15 +0000 (10:51 +0200)] 
logind: Listen to WMI hotkeys to catch SW_DOCK state/events

On Dell and HP laptops the dock state/events (SW_DOCK) come from the "{Dell,HP}
WMI hotkeys" input devices. Tag them as power-switch so that login actually
considers them. Use a general match in case this affects other vendors, too.

Thanks to Andreas Schultz for debugging this!

https://launchpad.net/bugs/1450009

8 years agocore: Use extract_first_word in config_parse_join_controllers
Filipe Brandenburger [Mon, 31 Aug 2015 04:00:30 +0000 (21:00 -0700)] 
core: Use extract_first_word in config_parse_join_controllers

Related to the TODO item to replace FOREACH_WORD_QUOTED with it.

Tested by setting `JoinControllers=cpu,cpuacct,memory net_cls,blkio' in
/etc/systemd/system.conf, rebooting the system with the patched binaries
and checking that the desired setup was created by inspecting the
entries under /sys/fs/cgroup.

No regressions observed in test cases.

8 years agoutil: Declare a cleanup routine for a cpu_set_t
Filipe Brandenburger [Mon, 31 Aug 2015 03:46:27 +0000 (20:46 -0700)] 
util: Declare a cleanup routine for a cpu_set_t

Make use of it in config_parse_cpu_affinity2.

Tested by tweaking the `CPUAffinity' setting in /etc/systemd/system.conf
and reloading the daemon to confirm it is working as expected.

No regressions observed in test cases.

8 years agocore: Use extract_first_word in config_parse_cpu_affinity2
Filipe Brandenburger [Mon, 31 Aug 2015 03:22:37 +0000 (20:22 -0700)] 
core: Use extract_first_word in config_parse_cpu_affinity2

Related to the TODO item to replace FOREACH_WORD_QUOTED with it.

Tested by setting `CPUAfinity=0 1' (and other similar settings) in
/etc/systemd/system.conf, booting the system with the patched binaries
(and also using `systemctl daemon-reload` to reconfigure) and checking
that /proc/1/status indicates only CPUs 0 and 1 are allowed for PID 1.

No regressions observed in test cases.

8 years agoMerge pull request #1096 from evverx/systemd-path-bash-completion
Lennart Poettering [Tue, 1 Sep 2015 00:09:38 +0000 (02:09 +0200)] 
Merge pull request #1096 from evverx/systemd-path-bash-completion

shell-completion: bash: add systemd-path completion

8 years agoMerge pull request #1097 from teg/dhcp-server-2
David Herrmann [Mon, 31 Aug 2015 21:41:34 +0000 (23:41 +0200)] 
Merge pull request #1097 from teg/dhcp-server-2

dhcp-server: make pool configurable

8 years agonetworkd: dhcp-server - allow configuration of the pool 1097/head
Tom Gundersen [Fri, 28 Aug 2015 22:18:20 +0000 (00:18 +0200)] 
networkd: dhcp-server - allow configuration of the pool

The constraints we place on the pool is that it is a contiguous
sequence of addresses in the same subnet as the server address, not
including the subnet nor broadcast addresses, but possibly including
the server address itself. If the server address is included in the
pool it is (obviously) reserved and not handed out to clients.

8 years agonetworkd: dhcp-server - default to manage the whole subnet
Tom Gundersen [Fri, 28 Aug 2015 18:37:03 +0000 (20:37 +0200)] 
networkd: dhcp-server - default to manage the whole subnet

Don't restrict yourselves to 32 leases, simply manage the whole subnet by default.

8 years agosd-dhcp-server: simplify pool creation
Tom Gundersen [Fri, 28 Aug 2015 18:29:10 +0000 (20:29 +0200)] 
sd-dhcp-server: simplify pool creation

Merge sd_dhcp_server_set_address() and sd_dhcp_server_set_lease_pool() into
sd_dhcp_server_configure_pool() as the behavior of the two former depends
on the order they are called in. The flexibility is not needed, so let's
just do this in one call.

8 years agoshell-completion: bash: add systemd-path completion 1096/head
Evgeny Vereshchagin [Mon, 31 Aug 2015 19:24:16 +0000 (19:24 +0000)] 
shell-completion: bash: add systemd-path completion

8 years agologin: support user-bus on dbus1
David Herrmann [Mon, 31 Aug 2015 16:07:46 +0000 (18:07 +0200)] 
login: support user-bus on dbus1

dbus-1.10 was just released, including systemd units to run
`dbus-daemon --session` as systemd user unit. This allows using a
user-bus with dbus1, just like we do per default with kdbus.

All the dbus libraries have already been fixed long ago to use the
user-bus as default. Hence, there's no need to set
DBUS_SESSION_BUS_ADDRESS= if we use the user-bus. However, gdm and
friends continue to spawn a session bus if this variable is not set
(instead of checking for the existence of the user-bus). Hence, we force
the user-bus, if it is available, in pam_systemd. Once gdm and friends
are fixed, we can continue to drop this again. However, that might take
a while.

With this in place, all that is needed to make the user-bus work is:
    `systemctl --global enable dbus.socket`

If dbus.socket is not enabled, the legacy session-bus is still used.

Based on a patch by: Jan Alexander Steffens <jan.steffens@gmail.com>

8 years agoMerge pull request #1093 from poettering/unified-prepare
Daniel Mack [Mon, 31 Aug 2015 11:58:29 +0000 (13:58 +0200)] 
Merge pull request #1093 from poettering/unified-prepare

A variety of clean-ups

8 years agocgtop: rework error handling 1093/head
Lennart Poettering [Mon, 31 Aug 2015 11:29:46 +0000 (13:29 +0200)] 
cgtop: rework error handling

Never report errors twice.

8 years agosd-event: improve debug message when we fail to remove and fd from an epoll
Lennart Poettering [Mon, 31 Aug 2015 11:07:24 +0000 (13:07 +0200)] 
sd-event: improve debug message when we fail to remove and fd from an epoll

Let's help users to debug issues with epoll fd removal by printing the
name of the event source.

8 years agocgls: pretty print root cgroup path
Lennart Poettering [Mon, 31 Aug 2015 11:03:16 +0000 (13:03 +0200)] 
cgls: pretty print root cgroup path

Make sure show it as "/" rather than empty string.

8 years agomanager: remove ask-password fd from sd_event before closing it
Lennart Poettering [Sun, 30 Aug 2015 20:13:55 +0000 (22:13 +0200)] 
manager: remove ask-password fd from sd_event before closing it

Otherwise we might attempt to remove a non-existing fd from epoll.

8 years agoman: document relationship between keys and switches of cgtop
Lennart Poettering [Sun, 30 Aug 2015 14:38:52 +0000 (16:38 +0200)] 
man: document relationship between keys and switches of cgtop

8 years agocgtop: allow toggling of --recursive= and -k at runtime
Lennart Poettering [Sun, 30 Aug 2015 14:15:08 +0000 (16:15 +0200)] 
cgtop: allow toggling of --recursive= and -k at runtime

8 years agocgtop: recursively count cgroup member tasks
Lennart Poettering [Sun, 30 Aug 2015 13:11:35 +0000 (15:11 +0200)] 
cgtop: recursively count cgroup member tasks

When showing the number of tasks in a cgroup, recursively count tasks in
child cgroups and include them in the number. This ensures that the
number of tasks is cummulative the same way as memory, cpu and IO
resources are.

Old behaviour can be restored by passing the new --recursive=no switch.

8 years agocgtop: ignore kernel threads when counting tasks
Lennart Poettering [Fri, 28 Aug 2015 17:31:07 +0000 (19:31 +0200)] 
cgtop: ignore kernel threads when counting tasks

However, allow them to be counted in by specifying -k

8 years agocgls: print the expressive error message we have
Lennart Poettering [Fri, 28 Aug 2015 17:29:33 +0000 (19:29 +0200)] 
cgls: print the expressive error message we have

8 years agoprocess-util: trivial optimization
Lennart Poettering [Fri, 28 Aug 2015 17:29:03 +0000 (19:29 +0200)] 
process-util: trivial optimization

8 years agocgtop: show resource usage relative to cgroup root only
Lennart Poettering [Fri, 28 Aug 2015 17:17:47 +0000 (19:17 +0200)] 
cgtop: show resource usage relative to cgroup root only

This way the output is restricted to cgroups from a container when run
in one.

8 years agounit: minor simplification
Lennart Poettering [Fri, 28 Aug 2015 16:29:02 +0000 (18:29 +0200)] 
unit: minor simplification

8 years agoutil: treat 'C' and 'POSIX' locale identical
Lennart Poettering [Fri, 28 Aug 2015 16:22:14 +0000 (18:22 +0200)] 
util: treat 'C' and 'POSIX' locale identical

8 years agopager: set $LESSCHARSET when we output UTF8 chars
Lennart Poettering [Fri, 28 Aug 2015 16:17:14 +0000 (18:17 +0200)] 
pager: set $LESSCHARSET when we output UTF8 chars

This way we can be sure that less has the same idea of the terminal as
we do.

This solves issues in systems that have locale uninitalized, where
systemd would output UTF-8 but less wouldn't allow it and show them as
control characters.

8 years agounit: unify how we assing slices to units
Lennart Poettering [Fri, 28 Aug 2015 15:36:39 +0000 (17:36 +0200)] 
unit: unify how we assing slices to units

This adds a new call unit_set_slice(), and simplifies
unit_add_default_slice(). THis should make our code a bit more robust
and simpler.

8 years agounit: add new macros to test for unit contexts
Lennart Poettering [Fri, 28 Aug 2015 15:14:59 +0000 (17:14 +0200)] 
unit: add new macros to test for unit contexts

8 years agocore: use DUAL_TIMESTAMP_NULL where we can
Lennart Poettering [Fri, 28 Aug 2015 15:11:37 +0000 (17:11 +0200)] 
core: use DUAL_TIMESTAMP_NULL where we can

8 years agocore: don't generate stub unit file for transient units
Lennart Poettering [Fri, 28 Aug 2015 14:05:32 +0000 (16:05 +0200)] 
core: don't generate stub unit file for transient units

We store the properties for transient units in drop-ins anyway, and
units don't have to have fragment files, hence don't bother with them,
and don't create them.