Commit Graph
25398 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 152199f2d7 logind: allow any user to request lingering
We enable lingering for anyone who wants this. It is still disabled by
default to avoid keeping long-running processes accidentally.
Admins might want to customize this policy on multi-user sites.
2016-04-21 00:21:33 -04:00
Zbigniew Jędrzejewski-Szmek 921f831d3e logind: make KillOnlyUsers override KillUserProcesses
Instead of KillOnlyUsers being a filter for KillUserProcesses, it can now be
used to specify users to kill, independently of the KillUserProcesses
setting. Having the settings orthogonal seems to make more sense. It also
makes KillOnlyUsers symmetrical to KillExcludeUsers.
2016-04-21 00:21:33 -04:00
Zbigniew Jędrzejewski-Szmek 95365a576f build-sys: add --without-kill-user-processes configure option 2016-04-21 00:21:32 -04:00
Zbigniew Jędrzejewski-Szmek 97e5530cf2 logind: flip KillUserProcesses to on by default
This ensures that users sessions are properly cleaned up after.
The admin can still enable or disable linger for specific users to allow
them to run processes after they log out. Doing that through the user
session is much cleaner and provides better control.

dbus daemon can now be run in the user session (with --enable-user-session,
added in 1.10.2), and most distributions opted to pick this configuration.
In the normal case it makes a lot of sense to kill remaining processes.
The exception is stuff like screen and tmux. But it's easy enough to
work around, a simple example was added to the man page in previous
commit. In the long run those services should integrate with the systemd
users session on their own.

https://bugs.freedesktop.org/show_bug.cgi?id=94508
https://github.com/systemd/systemd/issues/2900
2016-04-21 00:21:32 -04:00
Zbigniew Jędrzejewski-Szmek 65eb37f8fc man: expand description of lingering and KillUserProcesses setting
The description in the man page was wrong, KillUserProcesses does
not kill all processes of the user. Describe what the setting
does, and also add links between the relavant sections of the
manual.

Also, add an extensive example which shows how to launch screen
in the background.
2016-04-21 00:21:32 -04:00
Zbigniew Jędrzejewski-Szmek 4eac7f5ccc man: reformat examples using <example> 2016-04-21 00:21:32 -04:00
Zbigniew Jędrzejewski-Szmek a2ed707712 logind: reload config on SIGHUP
v2:
- fix setting of kill_user_processes and
  *_ignore_inhibited settings
2016-04-21 00:20:56 -04:00
Zbigniew Jędrzejewski-Szmek c8a806f2c0 core: prefix selinux messages with "selinux: "
SELinux outputs semi-random messages like "Unknown permission start for class
system", and the user has to dig into message metadata to find out where
they are comming from. Add a prefix to give a hint.
2016-04-21 00:12:29 -04:00
Lennart Poettering 0c0ee5ebee Merge pull request #2990 from evverx/sys-depends-on-sys-tar-xz
build-sys: test/sys depends on test/sys.tar.xz
2016-04-08 19:08:52 +02:00
Evgeny Vereshchagin 17d6dede6a build-sys: test/sys depends on test/sys.tar.xz
Fixes:
$ ls -ld test/sys
drwxr-xr-x. 12 vagrant vagrant 4096 Jan  6  2012 test/sys

$ git pull
Updating d4337c1..710a885
Fast-forward
 ...
 test/sys.tar.xz                             | Bin 261380 -> 165116 bytes
 test/udev-test.pl                           |  67 ++++++++++++-----

$ sudo make check TESTS=test/udev-test.pl
...
FAIL: test/udev-test.pl

$ rm -r test/sys
$ make test/sys
$ sudo make check TESTS=test/udev-test.pl
...
PASS: test/udev-test.pl
2016-04-08 13:53:03 +00:00
Martin Pitt 710a8858a9 Merge pull request #2985 from keszybz/lldp-assert
Replace if with assert_cc in lldp code and a build-sys tweak
2016-04-08 08:31:33 +02:00
Zbigniew Jędrzejewski-Szmek 74dd72d559 Merge pull request #2943 from vinaykul/systemd_duid_review_fixes
DHCP DUID parsing fix, logging fix, man-page fix
2016-04-07 20:19:19 -04:00
Zbigniew Jędrzejewski-Szmek 3aa131c4ca Merge pull request #2987 from CyberShadow/pull-20160407-234344
core: downgrade warning about duplicate device names again
2016-04-07 20:04:27 -04:00
Vladimir Panteleev 071e0b8b3a core: downgrade warning about duplicate device names again
Pull request #2412 seemed to have unintentionally reverted
5259bcf6a6, thus reintroducing
https://bugs.freedesktop.org/show_bug.cgi?id=90386.

This commit reverts that part of the commit, changing the
log level to debug again.
2016-04-07 23:48:29 +00:00
Zbigniew Jędrzejewski-Szmek c8cf4dc1e5 lldp: replace if with assert_cc
LLDP_TX_HOLD or one of the other variables might be changed in the future
resulting in a silent error here if the if was just removed.

Replacement for #2983.
2016-04-07 14:29:59 -04:00
Zbigniew Jędrzejewski-Szmek 56815242ac build-sys: force generation of triggers.systemd file
We don't want to actually install it anywhere, because it
is only usable copied or %included directly into a spec file,
and must be available before %prep is run. But still, it's
useful to generate it automatically so it's easier to copy
and it doesn't go stale.
2016-04-07 14:29:34 -04:00
Martin Pitt f7152c19b9 Merge pull request #2981 from keszybz/test-nss
build-sys: move test-nss to manual_tests
2016-04-07 17:01:12 +02:00
Zbigniew Jędrzejewski-Szmek b7b61747b0 build-sys: move test-nss to manual_tests 2016-04-07 09:02:12 -04:00
Zbigniew Jędrzejewski-Szmek 3c9117545f Merge pull request #2976 from martinpitt/udev-test-tags
Add tags tests to udev-test.pl
2016-04-06 19:45:24 -04:00
Martin Pitt 817ec8cc81 sd-device: Allocate enough room for tags string
Fix commit 1d88a2: We need to allocate another byte for building the "tags"
string, as we append an extra ':' and still need the NUL terminator.
2016-04-06 23:50:39 +02:00
Martin Pitt bf8f7583ee test: udev: Check tags
Add two more tests:

 - Add a single tag, match on it, don't match on another.
 - Add 10.000 tags to a device, ensure that udev survives this.
   (Reproduces crash fixed by commit 1d88a271a)
2016-04-06 23:30:10 +02:00
Martin Pitt efc9f70325 test: udev: check exit code of test-udev
We expect test-udev to succeed. Verify that its exit code is zero, particularly
to spot crashes (e. g. a segfault would be error code 139).
2016-04-06 23:30:10 +02:00
Lennart Poettering 2f26f83008 Merge pull request #2972 from lnykryn/curl
configure.ac: bump curl dependency to 7.32.0
2016-04-06 18:36:22 +02:00
Lukas Nykryn f0b7fc2d89 configure.ac: bump curl dependency to 7.32.0
We are using CURLOPT_XFERINFOFUNCTION which was added in 7.32.0.
2016-04-06 15:03:31 +02:00
Zbigniew Jędrzejewski-Szmek 7b792fa1a9 Merge pull request #2970 from msekletar/machine-id-prefix-roota
machine-id-setup: simplify by using prefix_roota
2016-04-06 07:58:05 -04:00
Martin Pitt 64af424063 Merge pull request #2971 from torstehu/fix-typo
man: fix spelling mistakes
2016-04-06 12:57:54 +02:00
Torstein Husebø 95f4c7f595 man: fix spelling mistakes 2016-04-06 12:37:01 +02:00
Martin Pitt 600101ca28 Merge pull request #2969 from evverx/udev-test-dont-rely-on-underlying-fs-2
tests: don't rely on the underlying fs in test-udev (v2)
2016-04-06 11:51:38 +02:00
Lennart Poettering 354362c46b Merge pull request #2968 from keszybz/journal-upload-watchdog-update-master
Journal upload watchdog update master
2016-04-06 10:50:46 +02:00
Lennart Poettering d4337c15d5 Merge pull request #2944 from keszybz/man-coredump-sysctl
Man coredump sysctl
2016-04-06 10:49:52 +02:00
Lennart Poettering 056f0498fe Merge pull request #2947 from keszybz/test-nss
Add a test for nss modules and some related fixes
2016-04-06 10:48:55 +02:00
Lennart Poettering 382b56622a Merge pull request #2962 from keszybz/value-option
Add `--value` option to systemctl and loginctl to only print values
2016-04-06 10:47:37 +02:00
Lennart Poettering d35da3ae6a Merge pull request #2961 from evverx/fix-activate-sigchld
activate: improve SIGCHLD handler
2016-04-06 10:46:47 +02:00
Michal Sekletar f5e754e0d7 machine-id-setup: simplify by using prefix_roota 2016-04-06 09:55:24 +02:00
Evgeny Vereshchagin 21d9e3f339 tests: don't rely on the underlying fs in test-udev (v2)
* This reverts commit 646048b40a.
Let's test really big numbers again

* Don't be so brutal: use rmdir instead of rm -rf
As suggested https://github.com/systemd/systemd/pull/2966#issuecomment-205751680
2016-04-06 04:08:39 +00:00
Zbigniew Jędrzejewski-Szmek 82e4c2d656 nss-myhostname: remove dead test of variable that was not set 2016-04-05 23:19:56 -04:00
Zbigniew Jędrzejewski-Szmek 2abb5b3b10 test-nss: test the resolution of various names
nss-dns is also "tested". It should be almost always available,
and provides a reference for comparison.
2016-04-05 23:19:56 -04:00
Zbigniew Jędrzejewski-Szmek 8e98476e14 string-table: split long definitions 2016-04-05 23:19:56 -04:00
Zbigniew Jędrzejewski-Szmek e138e7d7fc machinectl: indentation fix 2016-04-05 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek 855005230b machinectl: add --value option 2016-04-05 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek 0c0d058325 Merge pull request #2964 from martinpitt/cgroup-doc-links
man: update links to kernel.org cgroup documentation
2016-04-05 21:09:20 -04:00
Zbigniew Jędrzejewski-Szmek 6dfde7acf1 man: also mention systemd-coredump@.service and systemd-coredump.socket
Added in 3c171f0b1e.
2016-04-05 21:00:10 -04:00
Zbigniew Jędrzejewski-Szmek e8ceb82e21 Merge pull request #2966 from evverx/udev-test-dont-rely-on-underlying-fs
tests: don't rely on underlying fs in udev-test, use tmpfs instead
2016-04-05 20:36:01 -04:00
Zbigniew Jędrzejewski-Szmek 0aa176a751 journal-upload: make watchdog state non-static
Also parse watchdog config when creating the Uploader object.
2016-04-05 20:28:56 -04:00
Klearchos Chaloulos d79ca7a622 journal-upload: Update watchdog while in curl_easy_perform
It is observed that a combination of high log throughput, low I/O speed on journal remote side and many nodes uploading simultaneously caused the journal-upload process to dump core because of watchdog starvation. This is caused because journal-upload stays in curl_easy_perform(), because it cannot upload fast enough to reach the end of the journal. Currently journal-upload will return from curl_easy_perform() only when the end of the journal is reached. Therefore a check is added in journal_input_callback(), which will update the watchdog if the elapsed time since the start of the uploading process is greater than WATCHDOG_USEC/2.
2016-04-05 17:37:00 +03:00
Evgeny Vereshchagin 5488e52d28 activate: improve SIGCHLD handler
* Don't lose children exit codes

* Don't receive notification when child processes stop
Eliminates annoying "Child died"-messages:
$ ./systemd-socket-activate -l 2000 --inetd -a cat
^Z
[1]+  Stopped                 ./systemd-socket-activate -l 2000 --inetd -a cat

$ bg %1
[1]+ ./systemd-socket-activate -l 2000 --inetd -a cat &
Child 15657 died with code 20

$ ps u 15657
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ubuntu   15657  0.0  0.0   4540   680 pts/2    S    00:34   0:00 cat

* Don't fail to reap some zombie children
Fixes
$ ./systemd-socket-activate -l 2000 --inetd -a cat &
$ for i in {1..1000}; do echo a | nc localhost 2000 & done
$ ps f
...
18235 pts/2    Ss     0:01 -bash
15849 pts/2    S      0:00  \_ ./systemd-socket-activate -l 2000 --inetd
-a cat
16081 pts/2    Z      0:00  |   \_ [cat] <defunct>
16381 pts/2    Z      0:00  |   \_ [cat] <defunct>
and many more zombies
...
2016-04-05 14:34:04 +00:00
Martin Pitt 5e939dd6a4 man: fix cgroup attributes for device throttling 2016-04-05 15:28:47 +02:00
Lennart Poettering 050d7e1998 Merge pull request #2965 from martinpitt/systemctl-polkit
systemctl: don't start polkit agent when running as root
2016-04-05 12:41:36 +02:00
Evgeny Vereshchagin 2ce8d27b1f tests: don't rely on underlying fs in udev-test, use tmpfs instead
Fixes: #457
2016-04-05 10:38:09 +00:00
Martin Pitt 89d0348220 polkit: don't start polkit agent when running as root
On the server side we already bypass the polkit checks if the caller is root
(see the sd_bus_query_sender_privilege() call in bus_verify_polkit_async()). So
there is no reason to invoke polkit when running
systemctl/machinectl/loginctl/timedatectl as root.

Fixes #2748
2016-04-05 12:18:55 +02:00