platform/upstream/systemd.git
8 years agonetworkd: fix copy-pasto in error message
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 20:47:59 +0000 (16:47 -0400)]
networkd: fix copy-pasto in error message

8 years agonetworkd: drop route_drop
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 20:46:01 +0000 (16:46 -0400)]
networkd: drop route_drop

It is just an alias for route_free which requires that route is not null,
but it was only used in one place where it was checked that route is not
null anyway. Let's just call route_free instead.

8 years agobusctl: use Monitoring interface (#3245)
Lars Uebernickel [Sat, 14 May 2016 20:10:22 +0000 (22:10 +0200)]
busctl: use Monitoring interface (#3245)

This is now the recommended way to do monitoring by upstream D-Bus.
It's also allowed in the default policy, whereas eavesdrop is not
anymore, which effectively broke busctl on many systems.

8 years agocore: allow slice to be overriden if cgroups aren't realized (#3246)
Tejun Heo [Sat, 14 May 2016 19:56:53 +0000 (15:56 -0400)]
core: allow slice to be overriden if cgroups aren't realized (#3246)

unit_set_slice() fails with -EBUSY if the unit already has a slice associated
with it.  This makes it impossible to override slice through dropin config or
over dbus.  There's no reason to disallow slice changes as long as cgroups
aren't realized.  Fix it.

Fixes #3240.

Signed-off-by: Tejun Heo <htejun@fb.com>
Reported-by: Davide Cavalca <dcavalca@fb.com>
8 years agoMerge pull request #3253 from alshopov/master
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 16:52:59 +0000 (12:52 -0400)]
Merge pull request #3253 from alshopov/master

Bulgarian translation of systemd

8 years agonamespace: unmount old /dev under our new private /dev (#3254)
topimiettinen [Sat, 14 May 2016 16:46:23 +0000 (16:46 +0000)]
namespace: unmount old /dev under our new private /dev (#3254)

Drop all dangling old /dev mounts before mounting a new private /dev tree.

8 years agoSort LINGUAS similar to Makefile.am:dist_catalog_DATA
Alexander Shopov [Sat, 14 May 2016 11:00:02 +0000 (14:00 +0300)]
Sort LINGUAS similar to Makefile.am:dist_catalog_DATA

8 years agopo, catalog - add Bulgarian translation
Alexander Shopov [Wed, 11 May 2016 07:02:04 +0000 (10:02 +0300)]
po, catalog - add Bulgarian translation

8 years agonspawn: drop spurious newline
Lennart Poettering [Thu, 12 May 2016 18:14:58 +0000 (20:14 +0200)]
nspawn: drop spurious newline

8 years agoupdate TODO
Lennart Poettering [Thu, 12 May 2016 18:14:46 +0000 (20:14 +0200)]
update TODO

8 years agocore: added ListUnitsByNames dbus method (#3182)
kayrus [Thu, 12 May 2016 16:58:59 +0000 (18:58 +0200)]
core: added ListUnitsByNames dbus method (#3182)

This new method returns information by unit names. Instead of ListUnitsByPatterns
this method returns information of inactive and even unexisting units.
Moved dbus unit reply logic into a separate shared function.
Resolves https://github.com/coreos/fleet/pull/1418

8 years agoCreate initrd-root-device.target synchronization point (#3239)
Daniel Drake [Thu, 12 May 2016 16:42:39 +0000 (10:42 -0600)]
Create initrd-root-device.target synchronization point (#3239)

Add a synchronization point so that custom initramfs units can run
after the root device becomes available, before it is fsck'd and
mounted.

This is useful for custom initramfs units that may modify the
root disk partition table, where the root device is not known in
advance (it's dynamically selected by the generators).

8 years agologind: introduce LockedHint and SetLockedHint (#3238)
Victor Toso [Wed, 11 May 2016 17:34:13 +0000 (19:34 +0200)]
logind: introduce LockedHint and SetLockedHint (#3238)

Desktop environments can keep this property up to date to allow
applications to easily track session's Lock status.

8 years agocoredump: use next_datagram_size_fd instead of ioctl(FIONREAD) (#3237)
Evgeny Vereshchagin [Wed, 11 May 2016 12:29:24 +0000 (15:29 +0300)]
coredump: use next_datagram_size_fd instead of ioctl(FIONREAD) (#3237)

We need to be sure that the size returned here actually matches what we will read with recvmsg() next

Fixes #2984

8 years agoMerge pull request #3220 from keszybz/install-fixes
Lennart Poettering [Tue, 10 May 2016 14:44:29 +0000 (16:44 +0200)]
Merge pull request #3220 from keszybz/install-fixes

Fix "preset-all" with dangling symlinks and install-section hint emitted too eagerly

8 years agoman: document the nfs mount option bg as unsupported (#3231)
tblume [Tue, 10 May 2016 14:20:03 +0000 (16:20 +0200)]
man: document the nfs mount option bg as unsupported (#3231)

The nfs mount option bg will not be supported with systemd.

Reasons are discussed here:
https://github.com/systemd/systemd/pull/3169

8 years agounits: make sure that fsck is executed before quotacheck
tblume [Tue, 10 May 2016 12:10:17 +0000 (14:10 +0200)]
units: make sure that fsck is executed before quotacheck

fsck determines wheter an automatic quotacheck should be executed.
Hence fsck service needs to run before quotacheck service.

8 years agocatalog: update French translation (#3228)
Sylvain Plantefève [Tue, 10 May 2016 01:34:16 +0000 (03:34 +0200)]
catalog: update French translation (#3228)

8 years agolocale-util: mark special_glyph() as _const_
Zbigniew Jędrzejewski-Szmek [Mon, 9 May 2016 15:24:08 +0000 (11:24 -0400)]
locale-util: mark special_glyph() as _const_

_const_ means that the caller can assume that the function will return the same
result every time (and will not modify global memory). special_glyph() meets
this: even though it depends on global memory, that part of global memory is
not expected to change. This allows the calls to special_glyph() to be
optimized, even if -flto is not used.

8 years agotree-wide: rename draw_special_char to special_glyph
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:30:18 +0000 (17:30 -0400)]
tree-wide: rename draw_special_char to special_glyph

That function doesn't draw anything on it's own, just returns a string, which
sometimes is more than one character. Also remove "DRAW_" prefix from character
names, TREE_* and ARROW and BLACK_CIRCLE are unambigous on their own, don't
draw anything, and are always used as an argument to special_glyph().

Rename "DASH" to "MDASH", as there's more than one type of dash.

8 years agoshared/install: use "→" instead of "pointing to" for a symlink
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:15:34 +0000 (17:15 -0400)]
shared/install: use "→" instead of "pointing to" for a symlink

It's quite a bit shorter and just as readable.

(The full sentence with "pointing to" was added to replace a text that used
"ln -s %s %s". Using the "ln" syntax is indeed unclear, because it's not
obvious which is the source and which is the target, and because symlink(2)
uses the opposite order to ln(1). But with the unicode arrow there should
be no ambiguity.)

8 years agoshared/install: do not print warning when a unit is already enabled
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:02:55 +0000 (17:02 -0400)]
shared/install: do not print warning when a unit is already enabled

Executing 'systemctl enable' on the same unit twice would cause
a warning about a missing [Install] section to be printed. To avoid
this, count all symlinks that "would" be created, and return 1
no matter if we actually created a symlink or skipped creation because
it already exists.

8 years agoshared/install: handle dangling aliases as an explicit case, report nicely
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:10:57 +0000 (10:10 -0400)]
shared/install: handle dangling aliases as an explicit case, report nicely

This fixes 'preset-all' with a unit that is a dangling symlink.

$ systemctl --root=/ preset-all
Unit syslog.service is an alias to a unit that is not present, ignoring.
Unit auditd.service is masked, ignoring.
Unit NetworkManager.service is masked, ignoring.

8 years agoshared/install: add some more debug messages and comments
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:09:52 +0000 (10:09 -0400)]
shared/install: add some more debug messages and comments

$ systemctl --root=/ preset foobar.service
Cannot find unit foobar.service.
Failed to preset: No such file or directory.
$ systemctl --root=/ preset foobar@.service
Cannot find unit foobar@.service.
Failed to preset: No such file or directory.
$ systemctl --root=/ preset foobar@blah.service
Cannot find unit foobar@blah.service or foobar@.service.
Failed to preset: No such file or directory.

8 years agoMerge pull request #3209 from poettering/nspawn-network-zones
Zbigniew Jędrzejewski-Szmek [Mon, 9 May 2016 18:34:05 +0000 (14:34 -0400)]
Merge pull request #3209 from poettering/nspawn-network-zones

introduce simple "network zones" concept to nspawn

8 years agoupdate TODO
Lennart Poettering [Mon, 9 May 2016 13:41:46 +0000 (15:41 +0200)]
update TODO

8 years agonspawn: only remove veth links we created ourselves
Lennart Poettering [Mon, 9 May 2016 13:43:51 +0000 (15:43 +0200)]
nspawn: only remove veth links we created ourselves

Let's make sure we don't remove veth links that existed before nspawn was
invoked.

https://github.com/systemd/systemd/pull/3209#discussion_r62439999

8 years agonetwork: Make sure we log about parse errors for ifname lists
Lennart Poettering [Mon, 9 May 2016 13:42:23 +0000 (15:42 +0200)]
network: Make sure we log about parse errors for ifname lists

Fix-up for 93e2822684b37a4eeef03775a7a1f44a3055d7b2

8 years agonetwork: allow LLDP packets to cross non-customer bridges for container network inter...
Lennart Poettering [Fri, 6 May 2016 20:44:13 +0000 (22:44 +0200)]
network: allow LLDP packets to cross non-customer bridges for container network interfaces

This changes the default .network files we ship for nspawn containers to set
EmitLLDP=customer-bridge in order to allow propagation of the LLDP packets
across bridges. This is useful so that "networkctl status" shows all peers
connected to a virtual container network, collecting this data via LLDP. This
is safe since the default configuration for these interfaces does not bridge
these links to external interfaces, but relies on IP routing for this.

8 years agonetworkd: reworkd LLDP emission to allow control of propagation level
Lennart Poettering [Fri, 6 May 2016 19:27:36 +0000 (21:27 +0200)]
networkd: reworkd LLDP emission to allow control of propagation level

This allows selecting the propagation level of emitted LLDP packets
(specifically: the destination MAC address of the packets). This is useful
because it allows generating LLDP packets that optionally cross certain types
of bridges.

See 802.11ab-2009, Table 7-1 for details.

8 years agotree-wide: port more code to use ifname_valid()
Lennart Poettering [Fri, 6 May 2016 19:20:59 +0000 (21:20 +0200)]
tree-wide: port more code to use ifname_valid()

8 years agoman: add documentation for the new --network-zone= concept of nspawn
Lennart Poettering [Fri, 6 May 2016 19:04:52 +0000 (21:04 +0200)]
man: add documentation for the new --network-zone= concept of nspawn

8 years agonetwork: add automatic configuration for the networks created by nspawn --network...
Lennart Poettering [Fri, 6 May 2016 19:03:40 +0000 (21:03 +0200)]
network: add automatic configuration for the networks created by nspawn --network-zone=

This way, they "just work", similar to --network-veth behaves, as long as
networkd is enabled and running on all involved nodes.

8 years agonspawn: add new --network-zone= switch for automatically managed bridge devices
Lennart Poettering [Fri, 6 May 2016 19:00:27 +0000 (21:00 +0200)]
nspawn: add new --network-zone= switch for automatically managed bridge devices

This adds a new concept of network "zones", which are little more than bridge
devices that are automatically managed by nspawn: when the first container
referencing a bridge is started, the bridge device is created, when the last
container referencing it is removed the bridge device is removed again. Besides
this logic --network-zone= is pretty much identical to --network-bridge=.

The usecase for this is to make it easy to run multiple related containers
(think MySQL in one and Apache in another) in a common, named virtual Ethernet
broadcast zone, that only exists as long as one of them is running, and fully
automatically managed otherwise.

8 years agoutil-lib: add new ifname_valid() call that validates interface names
Lennart Poettering [Fri, 6 May 2016 18:58:32 +0000 (20:58 +0200)]
util-lib: add new ifname_valid() call that validates interface names

Make use of this in nspawn at a couple of places. A later commit should port
more code over to this, including networkd.

8 years agoman: document that nspawn's host0 and ve-* interfaces have default config in networkd
Lennart Poettering [Fri, 6 May 2016 18:50:16 +0000 (20:50 +0200)]
man: document that nspawn's host0 and ve-* interfaces have default config in networkd

8 years agoMerge pull request #3222 from keszybz/tests-work
Lennart Poettering [Mon, 9 May 2016 10:39:56 +0000 (12:39 +0200)]
Merge pull request #3222 from keszybz/tests-work

Some small fixes to make it easier to run tests and fix failure in TEST-{02,08}

8 years agoTEST-08: make sure / is remounted rw
Zbigniew Jędrzejewski-Szmek [Sun, 8 May 2016 15:08:42 +0000 (11:08 -0400)]
TEST-08: make sure / is remounted rw

In this test /etc/fstab is replaced by -.mount unit. This causes
systemd-remount-fs.service to not remount / rw, which in turn causes various
failures becuase /var is not writable. In particular
systemd-tmpfiles-setup.service reports many failures. This is something
to possibly fix on its own (see https://github.com/systemd/systemd/issues/791);
in the meanwhile let's fix this test so that it doesn't fail, since the
point of the test is to check aliases on mount units, and not a ro root.

8 years agotests: enable logging for pid1, disable for other systemd services
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 18:20:57 +0000 (14:20 -0400)]
tests: enable logging for pid1, disable for other systemd services

systemd-udev generated an insane amount of log output at debug level.
It would break TEST-02-CRYPTSETUP by filling the overflowing the disk
(which seems to be a bug in itself!).

8 years agotests: allow root to login with empty password to test images
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 18:03:27 +0000 (14:03 -0400)]
tests: allow root to login with empty password to test images

8 years agotree-wide: remove uses of --failed
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 17:01:25 +0000 (13:01 -0400)]
tree-wide: remove uses of --failed

It has been replaced by --state=failed.

8 years agotests: specify format=raw for qemu to avoid warning
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 16:00:11 +0000 (12:00 -0400)]
tests: specify format=raw for qemu to avoid warning

WARNING: Image format was not specified for
         '/var/tmp/systemd-test.tGi3od/rootdisk.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write
         operations on block 0 will be restricted.  Specify the 'raw' format
         explicitly to remove the restrictions.

Also use unsafe caching mode, we don't care about data integrity here.

8 years agoMerge pull request #3202 from poettering/socket-fixes
Martin Pitt [Sun, 8 May 2016 19:09:35 +0000 (21:09 +0200)]
Merge pull request #3202 from poettering/socket-fixes

don't reopen socket fds when reloading the daemon

8 years agoNEWS: typo fix and american english (#3219)
Thomas H. P. Andersen [Sat, 7 May 2016 21:52:31 +0000 (23:52 +0200)]
NEWS: typo fix and american english (#3219)

8 years agoshared/install: simplify error handling conditionals in a few places
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:04:08 +0000 (10:04 -0400)]
shared/install: simplify error handling conditionals in a few places

8 years agocore/mount: add helper function for mount states
Zbigniew Jędrzejewski-Szmek [Tue, 3 May 2016 19:57:36 +0000 (15:57 -0400)]
core/mount: add helper function for mount states

8 years agoMerge pull request #3205 from poettering/iaid
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 19:31:58 +0000 (15:31 -0400)]
Merge pull request #3205 from poettering/iaid

more dhcp fixes

8 years agoMerge pull request #3160 from htejun/cgroup-fixes-rev2
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 19:08:57 +0000 (15:08 -0400)]
Merge pull request #3160 from htejun/cgroup-fixes-rev2

Cgroup fixes.

8 years agoMerge pull request #3215 from keszybz/news-and-other-small-cleanups
Lennart Poettering [Sat, 7 May 2016 16:40:57 +0000 (18:40 +0200)]
Merge pull request #3215 from keszybz/news-and-other-small-cleanups

News and other small cleanups

8 years agoMerge pull request #3191 from poettering/cgroups-agent-dgram
Evgeny Vereshchagin [Sat, 7 May 2016 16:17:44 +0000 (19:17 +0300)]
Merge pull request #3191 from poettering/cgroups-agent-dgram

core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification

8 years agoNEWS: machinectl and loginctl also support --value
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 15:43:39 +0000 (11:43 -0400)]
NEWS: machinectl and loginctl also support --value

8 years agosystemctl: do not print header if no units will be listed
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 01:54:52 +0000 (21:54 -0400)]
systemctl: do not print header if no units will be listed

"0 units listed." is still printed.

8 years agosystemctl: rewrite code to explicitly take care of n_units==0 case
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 01:50:25 +0000 (21:50 -0400)]
systemctl: rewrite code to explicitly take care of n_units==0 case

Coverity was complaing, but it was a false positive (CID #1354669).
Nevertheless, it's better to rewrite the code so that units is never
null.

8 years agoMerge pull request #3210 from evverx/expose-usec
Evgeny Vereshchagin [Sat, 7 May 2016 14:21:29 +0000 (17:21 +0300)]
Merge pull request #3210 from evverx/expose-usec

core: expose TriggerLimitIntervalUSec, dump TriggerLimitIntervalSec and TriggerLimitBurst too

8 years agoMerge pull request #3212 from dmedri/master
Lennart Poettering [Sat, 7 May 2016 09:01:36 +0000 (11:01 +0200)]
Merge pull request #3212 from dmedri/master

Minor fixes and .po updates

8 years agoNEWS: minor fixes
Daniele Medri [Sat, 7 May 2016 03:00:12 +0000 (05:00 +0200)]
NEWS: minor fixes

8 years agoitalian: .po updates
Daniele Medri [Sat, 7 May 2016 02:58:30 +0000 (04:58 +0200)]
italian: .po updates

8 years agotests: add test for #3171 (#3206)
Evgeny Vereshchagin [Fri, 6 May 2016 21:05:59 +0000 (00:05 +0300)]
tests: add test for #3171 (#3206)

8 years agocore: dump TriggerLimitIntervalSec and TriggerLimitBurst too
Evgeny Vereshchagin [Fri, 6 May 2016 21:03:16 +0000 (21:03 +0000)]
core: dump TriggerLimitIntervalSec and TriggerLimitBurst too

8 years agocore: expose TriggerLimitIntervalUSec
Evgeny Vereshchagin [Fri, 6 May 2016 20:08:28 +0000 (20:08 +0000)]
core: expose TriggerLimitIntervalUSec

Before:
$ systemctl show --property TriggerLimitIntervalSec test.socket
TriggerLimitIntervalSec=2000000

After:
$ systemctl show --property TriggerLimitIntervalUSec test.socket
TriggerLimitIntervalUSec=2s

8 years agocore: update the right mtime after finishing writing of transient units (#3203)
Lennart Poettering [Fri, 6 May 2016 16:22:22 +0000 (18:22 +0200)]
core: update the right mtime after finishing writing of transient units (#3203)

Fixes: #3194

8 years agoman: link the part about [DHCP] to the DHCP= explanation
Lennart Poettering [Fri, 6 May 2016 15:08:03 +0000 (17:08 +0200)]
man: link the part about [DHCP] to the DHCP= explanation

8 years agoman: move IPv6 note to the right section
Lennart Poettering [Fri, 6 May 2016 15:07:41 +0000 (17:07 +0200)]
man: move IPv6 note to the right section

Make the XML validate again.

8 years agonetworkd: move the IAID configuration option into the [DHCP] section
Lennart Poettering [Fri, 6 May 2016 15:04:05 +0000 (17:04 +0200)]
networkd: move the IAID configuration option into the [DHCP] section

It's only relevant to DHCP, and it should be where the DUID is configured too.

8 years agosystemctl: indentation fix
Lennart Poettering [Fri, 6 May 2016 14:58:01 +0000 (16:58 +0200)]
systemctl: indentation fix

8 years agoNEWS: bring NEWS a bit up-to-date
Lennart Poettering [Fri, 6 May 2016 14:55:44 +0000 (16:55 +0200)]
NEWS: bring NEWS a bit up-to-date

8 years agocore: rework how we flush incoming traffic when a socket unit goes down
Lennart Poettering [Fri, 6 May 2016 11:29:26 +0000 (13:29 +0200)]
core: rework how we flush incoming traffic when a socket unit goes down

Previously, we'd simply close and reopen the socket file descriptors. This is
problematic however, as we won't transition through the SOCKET_CHOWN state
then, and thus the file ownership won't be correct for the sockets.

Rework the flushing logic, and actually read any queued data from the sockets
for flushing, and accept any queued messages and disconnect them.

8 years agocore: don't implicit open missing socket fds on daemon reload
Lennart Poettering [Fri, 6 May 2016 11:01:17 +0000 (13:01 +0200)]
core: don't implicit open missing socket fds on daemon reload

Previously, when the daemon was reloaded and the configuration of a socket unit
file was changed so that a different set of socket ports was defined for the
socket we'd simply reopen the socket fds not yet open. This is problematic
however, as this means the SOCKET_CHOWN state is not run for them, and thus
their UID/GID is not corrected.

With this change, don't open the missing file descriptors, but log about this
issue, and ask the user to restart the socket explicit, to make sure all
missing fds are opened.

Fixes: #3171

8 years agocore: split out selinux label retrieval logic into a function of its own
Lennart Poettering [Fri, 6 May 2016 10:16:58 +0000 (12:16 +0200)]
core: split out selinux label retrieval logic into a function of its own

This should bring no behavioural change.

8 years agoMerge pull request #3201 from ssahani/net-word
Lennart Poettering [Fri, 6 May 2016 09:57:12 +0000 (11:57 +0200)]
Merge pull request #3201 from ssahani/net-word

networkd lib: cleanup FOREACH_WORD

8 years agonetworkd: route fix comment
Susant Sahani [Fri, 6 May 2016 04:19:49 +0000 (09:49 +0530)]
networkd: route fix comment

8 years agonetworkd: cleanup FOREACH_WORD
Susant Sahani [Fri, 6 May 2016 04:07:31 +0000 (09:37 +0530)]
networkd: cleanup FOREACH_WORD

8 years agoMerge pull request #3190 from poettering/logind-fixes
Zbigniew Jędrzejewski-Szmek [Fri, 6 May 2016 00:28:23 +0000 (20:28 -0400)]
Merge pull request #3190 from poettering/logind-fixes

8 years agoMerge pull request #3198 from poettering/trigger-timeout-defaults
Evgeny Vereshchagin [Thu, 5 May 2016 23:11:11 +0000 (02:11 +0300)]
Merge pull request #3198 from poettering/trigger-timeout-defaults

change trigger timeout defaults

8 years agologind: drop pointless UINT64_C() macro use
Lennart Poettering [Thu, 5 May 2016 20:49:25 +0000 (22:49 +0200)]
logind: drop pointless UINT64_C() macro use

8 years agologind: enforce a limit on inhibitors we hand out
Lennart Poettering [Wed, 4 May 2016 17:40:05 +0000 (19:40 +0200)]
logind: enforce a limit on inhibitors we hand out

For similar reasons as the recent addition of a limit on sessions.

Note that we don't enforce a limit on inhibitors per-user currently, but
there's an implicit one, since each inhibitor takes up one fd, and fds are
limited via RLIMIT_NOFILE, and the limit on the number of processes per user.

8 years agologind: expose more configuration settings as bus properties
Lennart Poettering [Wed, 4 May 2016 17:22:30 +0000 (19:22 +0200)]
logind: expose more configuration settings as bus properties

8 years agologind: don't include session lists in PropertyChanged messages
Lennart Poettering [Wed, 4 May 2016 17:05:18 +0000 (19:05 +0200)]
logind: don't include session lists in PropertyChanged messages

If we have a lot of simultaneous sessions we really shouldn't send the full
list of active sessions with each PropertyChanged message for user and seat
objects, as that can become quite substantial data, we probably shouldn't dump
on the bus on each login and logout.

Note that the global list of sessions doesn't send out changes like this
either, it only supports requesting the session list with ListSessions().

If cients want to get notified about sessions coming and going they should
subscribe to SessionNew and SessionRemoved signals, and clients generally do
that already.

This is kind of an API break, but then again the fact that this was included
was never documented.

8 years agologind: process session/inhibitor fds at higher priority
Lennart Poettering [Wed, 4 May 2016 17:01:56 +0000 (19:01 +0200)]
logind: process session/inhibitor fds at higher priority

Let's make sure we process session and inhibitor pipe fds (that signal
sessions/inhibtors going away) at a higher priority
than new bus calls that might create new sessions or inhibitors. This helps
ensuring that the number of open sessions stays minimal.

8 years agoupdate TODO
Lennart Poettering [Wed, 4 May 2016 17:01:46 +0000 (19:01 +0200)]
update TODO

8 years agologind: enforce a limit on current user sessions
Lennart Poettering [Wed, 4 May 2016 16:57:15 +0000 (18:57 +0200)]
logind: enforce a limit on current user sessions

We really should put limits on all resources we manage, hence add one to the
number of concurrent sessions, too. This was previously unbounded, hence set a
relatively high limit of 8K by default.

Note that most PAM setups will actually invoke pam_systemd prefixed with "-",
so that the return code of pam_systemd is ignored, and the login attempt
succeeds anyway. On systems like this the session will be created but is not
tracked by systemd.

8 years agoupdate TODO
Lennart Poettering [Thu, 5 May 2016 18:51:52 +0000 (20:51 +0200)]
update TODO

8 years agocore: fix owner user/group output in socket dump
Lennart Poettering [Thu, 5 May 2016 11:45:18 +0000 (13:45 +0200)]
core: fix owner user/group output in socket dump

The unit file settings are called SocketUser= and SocketGroup= hence name these
fields that way in the "systemd-analyze dump" output too.

https://github.com/systemd/systemd/issues/3171#issuecomment-216216995

8 years agocore: change default trigger limits for socket units
Lennart Poettering [Thu, 5 May 2016 11:39:31 +0000 (13:39 +0200)]
core: change default trigger limits for socket units

Let's lower the default values a bit, and pick different defaults for
Accept=yes and Accept=no sockets.

Fixes: #3167

8 years agojournald: stack allocation cannot fail
Lennart Poettering [Thu, 5 May 2016 20:26:09 +0000 (22:26 +0200)]
journald: stack allocation cannot fail

No need to check whether alloca() failed...

8 years agotree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere
Lennart Poettering [Thu, 5 May 2016 20:24:36 +0000 (22:24 +0200)]
tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere

The macro determines the right length of a AF_UNIX "struct sockaddr_un" to pass to
connect() or bind(). It automatically figures out if the socket refers to an
abstract namespace socket, or a socket in the file system, and properly handles
the full length of the path field.

This macro is not only safer, but also simpler to use, than the usual
offsetof() + strlen() logic.

8 years agoMerge pull request #3197 from phomes/networkd-memleak
Zbigniew Jędrzejewski-Szmek [Thu, 5 May 2016 12:08:16 +0000 (08:08 -0400)]
Merge pull request #3197 from phomes/networkd-memleak

Fixes for memleaks in networkd and test

8 years agotest-networkd-conf: fix memleak
Thomas Hindoe Paaboel Andersen [Thu, 5 May 2016 11:22:35 +0000 (13:22 +0200)]
test-networkd-conf: fix memleak

8 years agonetworkd: fix memleak in config_parse_duid_rawdata
Thomas Hindoe Paaboel Andersen [Thu, 5 May 2016 11:17:09 +0000 (13:17 +0200)]
networkd: fix memleak in config_parse_duid_rawdata

8 years agocore: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification
Lennart Poettering [Wed, 4 May 2016 18:43:23 +0000 (20:43 +0200)]
core: use an AF_UNIX/SOCK_DGRAM socket for cgroup agent notification

dbus-daemon currently uses a backlog of 30 on its D-bus system bus socket. On
overloaded systems this means that only 30 connections may be queued without
dbus-daemon processing them before further connection attempts fail. Our
cgroups-agent binary so far used D-Bus for its messaging, and hitting this
limit hence may result in us losing cgroup empty messages.

This patch adds a seperate cgroup agent socket of type AF_UNIX/SOCK_DGRAM.
Since sockets of these types need no connection set up, no listen() backlog
applies. Our cgroup-agent binary will hence simply block as long as it can't
enqueue its datagram message, so that we won't lose cgroup empty messages as
likely anymore.

This also rearranges the ordering of the processing of SIGCHLD signals, service
notification messages (sd_notify()...) and the two types of cgroup
notifications (inotify for the unified hierarchy support, and agent for the
classic hierarchy support). We now always process events for these in the
following order:

  1. service notification messages  (SD_EVENT_PRIORITY_NORMAL-7)
  2. SIGCHLD signals (SD_EVENT_PRIORITY_NORMAL-6)
  3. cgroup inotify and cgroup agent (SD_EVENT_PRIORITY_NORMAL-5)

This is because when receiving SIGCHLD we invalidate PID information, which we
need to process the service notification messages which are bound to PIDs.
Hence the order between the first two items. And we want to process SIGCHLD
metadata to detect whether a service is gone, before using cgroup
notifications, to decide when a service is gone, since the former carries more
useful metadata.

Related to this:
https://bugs.freedesktop.org/show_bug.cgi?id=95264
https://github.com/systemd/systemd/issues/1961

8 years agoTrivial network cleanup (#3196)
Thomas H. P. Andersen [Thu, 5 May 2016 09:15:46 +0000 (11:15 +0200)]
Trivial network cleanup (#3196)

* gitignore: typo fix for test-networkd-conf

* networkd: fix double include

8 years agocore: fix segfault on "systemctl --set-property UNIT BlockIODeviceWeight=WEIGHT"
Tejun Heo [Wed, 4 May 2016 21:43:13 +0000 (17:43 -0400)]
core: fix segfault on "systemctl --set-property UNIT BlockIODeviceWeight=WEIGHT"

bus_append_unit_property_assignment() was missing an argument for
sd_bus_message_append() when processing BlockIODeviceWeight leading to
segfault.  Fix it.

Signed-off-by: Tejun Heo <htejun@fb.com>
8 years agoMerge pull request #3156 from keszybz/duid-settings
Lennart Poettering [Wed, 4 May 2016 09:31:59 +0000 (11:31 +0200)]
Merge pull request #3156 from keszybz/duid-settings

Rework DUID setting

8 years agotreewide: fix typos (#3187)
Torstein Husebø [Wed, 4 May 2016 09:26:17 +0000 (11:26 +0200)]
treewide: fix typos (#3187)

8 years agoMerge pull request #3170 from poettering/v230-preparation-fixes
Lennart Poettering [Wed, 4 May 2016 08:46:13 +0000 (10:46 +0200)]
Merge pull request #3170 from poettering/v230-preparation-fixes

make virtualization detection quieter, rework unit start limit logic, detect unit file drop-in changes correctly, fix autofs state propagation

8 years agotmpfiles: don't set the x bit for volatile system journal when ACL support is enabled...
Franck Bui [Tue, 3 May 2016 23:29:11 +0000 (01:29 +0200)]
tmpfiles: don't set the x bit for volatile system journal when ACL support is enabled (#3079)

When ACL support is enabled, systemd-tmpfiles-setup service sets the following
ACL entries to the volatile system journal:

   $ getfacl /run/log/journal/*/system.journal
   getfacl: Removing leading '/' from absolute path names
   # file: run/log/journal/xxx/system.journal
   # owner: root
   # group: systemd-journal
   user::rwx
   group::r--
   group:wheel:r-x
   group:adm:r-x
   mask::r-x
   other::---

This patch makes sure that the exec bit is not set anymore for the volatile
system journals.

8 years agoMerge pull request #3185 from NetworkManager/lr/unhappy-trie
Zbigniew Jędrzejewski-Szmek [Tue, 3 May 2016 23:22:22 +0000 (19:22 -0400)]
Merge pull request #3185 from NetworkManager/lr/unhappy-trie

Fix incorrect string deduplication in udev

8 years agostrbuf: set the proper character when creating new nodes
Lubomir Rintel [Tue, 3 May 2016 20:15:49 +0000 (22:15 +0200)]
strbuf: set the proper character when creating new nodes

Commit 82501b3fc added an early break when a terminal node is found to
incorrect place -- before setting c. This caused trie to be built that
does not correspond to what it points to in buffer, causing incorrect
deduplications:

  # cat /etc/udev/rules.d/99-bug.rules
  ENV{FOO}=="0"
  ENV{xx0}=="BAR"
  ENV{BAZ}=="00"

  # udevadm test
  * RULE /etc/udev/rules.d/99-bug.rules:1, token: 0, count: 2, label: ''
  M ENV match 'FOO' '0'(plain)
  * RULE /etc/udev/rules.d/99-bug.rules:2, token: 2, count: 2, label: ''
  M ENV match 'xx0' 'BAR'(plain)
  * RULE /etc/udev/rules.d/99-bug.rules:3, token: 4, count: 2, label: ''
  M ENV match 'BAZ' 'x0'(plain)
  * END

The addition of "xx0" following "0" will cause a trie like this to be
created:

  c=\0
    c=0 "0"
      c=0 "xx0"  <-- note the c is incorrect here, causing "00" to be
    c=O "FOO"        deduplicated to it
    c=R "BAR"

This in effect caused the usb_modeswitch rule for Huawei modems to never
match and this never be switched to serial mode from mass storage.

8 years agoudev: fix build with DEBUG=1
Lubomir Rintel [Tue, 3 May 2016 20:29:03 +0000 (22:29 +0200)]
udev: fix build with DEBUG=1

Alternatively, this could perhaps be removed since it was broken for a
long time and noone seemed to care.

But it was helpful for me today.

8 years agoMerge pull request #3183 from crawford/preset-array
Zbigniew Jędrzejewski-Szmek [Tue, 3 May 2016 20:24:09 +0000 (16:24 -0400)]
Merge pull request #3183 from crawford/preset-array

install: cache the presets before evaluating