platform/upstream/systemd.git
6 years agoudev: use Hashmap for storing global properties
Yu Watanabe [Tue, 16 Oct 2018 21:47:16 +0000 (06:47 +0900)]
udev: use Hashmap for storing global properties

6 years agoudev: use Hashmap for storing PROGRAM or BUILTIN
Yu Watanabe [Tue, 16 Oct 2018 21:11:33 +0000 (06:11 +0900)]
udev: use Hashmap for storing PROGRAM or BUILTIN

6 years agoudev: use Hashmap for storing SECLABEL
Yu Watanabe [Tue, 16 Oct 2018 20:37:34 +0000 (05:37 +0900)]
udev: use Hashmap for storing SECLABEL

6 years agoMerge pull request #10412 from poettering/sockaddr-sun-path
Yu Watanabe [Tue, 16 Oct 2018 16:25:58 +0000 (01:25 +0900)]
Merge pull request #10412 from poettering/sockaddr-sun-path

various fixes related to struct sockaddr_un handling

6 years agoMerge pull request #10422 from poettering/network-xml-route-fix
Yu Watanabe [Tue, 16 Oct 2018 16:20:12 +0000 (01:20 +0900)]
Merge pull request #10422 from poettering/network-xml-route-fix

man: systemd.network man page fix

6 years agotree-wide: CMP()ify all the things
Lennart Poettering [Tue, 16 Oct 2018 13:57:40 +0000 (15:57 +0200)]
tree-wide: CMP()ify all the things

Let's employ coccinelle to fix everything up automatically for us.

6 years agoSet theme jekyll-theme-primer
Michael Biebl [Tue, 16 Oct 2018 15:11:46 +0000 (17:11 +0200)]
Set theme jekyll-theme-primer

This theme uses anchorjs to provide mouse-over anchor links.

Closes: #10418

6 years agoman: fix spurious uppercasing
Lennart Poettering [Tue, 16 Oct 2018 15:19:23 +0000 (17:19 +0200)]
man: fix spurious uppercasing

6 years agoman: an attempt to reword the [Route] Type= man page
Lennart Poettering [Tue, 16 Oct 2018 15:18:30 +0000 (17:18 +0200)]
man: an attempt to reword the [Route] Type= man page

A follow-up for #10388.

6 years agonetworkd: type support for "throw" in [Route] section
Hui Yiqun [Sat, 13 Oct 2018 06:01:47 +0000 (14:01 +0800)]
networkd: type support for "throw" in [Route] section

6 years agosiphash24: add helper for calculating the hash value for a string
Lennart Poettering [Tue, 16 Oct 2018 11:56:14 +0000 (13:56 +0200)]
siphash24: add helper for calculating the hash value for a string

Let's shorten some code.

6 years agoMerge pull request #10416 from poettering/udev-coverity
Lennart Poettering [Tue, 16 Oct 2018 14:26:44 +0000 (16:26 +0200)]
Merge pull request #10416 from poettering/udev-coverity

three simple coverity fixes

6 years agoudev: (void)ify calls to kill() where we knowingly ignore the return values
Lennart Poettering [Tue, 16 Oct 2018 11:49:28 +0000 (13:49 +0200)]
udev: (void)ify calls to kill() where we knowingly ignore the return values

CID 1368231
CID 1368229

6 years agoudev: don't use devname before we acquired it
Lennart Poettering [Tue, 16 Oct 2018 11:48:25 +0000 (13:48 +0200)]
udev: don't use devname before we acquired it

CID 1396107

6 years agocore: log about unit_watch_pid() failing
Lennart Poettering [Tue, 16 Oct 2018 11:47:23 +0000 (13:47 +0200)]
core: log about unit_watch_pid() failing

CID 1237509

6 years agoMerge pull request #10327 from yuwata/test-sd-device-enumerator-subsystem
Lennart Poettering [Tue, 16 Oct 2018 10:48:01 +0000 (12:48 +0200)]
Merge pull request #10327 from yuwata/test-sd-device-enumerator-subsystem

sd-device-enumerator: dedup enumerated devices and add test for subsystem filtering

6 years agoSet theme jekyll-theme-cayman
Lennart Poettering [Tue, 16 Oct 2018 09:32:09 +0000 (11:32 +0200)]
Set theme jekyll-theme-cayman

6 years agocatalog: fix name of variable
Zbigniew Jędrzejewski-Szmek [Mon, 15 Oct 2018 20:41:49 +0000 (22:41 +0200)]
catalog: fix name of variable

All the messages would (literally) say "The start-up result is RESULT."
because @RESULT@ was not defined.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1639482
and the first part of #8005.

Fixup for 646cc98dc81c4d0edbc1b57e7bca0f474b47e270.

6 years agorules: Add ID_REVISION environment var for NVMe devices
Harry Mallon [Mon, 15 Oct 2018 16:10:44 +0000 (17:10 +0100)]
rules: Add ID_REVISION environment var for NVMe devices

6 years agoMerge pull request #9824 from poettering/login-unit-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 16 Oct 2018 07:34:27 +0000 (09:34 +0200)]
Merge pull request #9824 from poettering/login-unit-fixes

many logind improvements

6 years agoMerge pull request #10391 from poettering/systemctl-exit-code-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 16 Oct 2018 06:42:34 +0000 (08:42 +0200)]
Merge pull request #10391 from poettering/systemctl-exit-code-fixes

systemctl exit code fixes

6 years agonspawn: TAKE_FD() is your friend
Lennart Poettering [Mon, 15 Oct 2018 17:45:37 +0000 (19:45 +0200)]
nspawn: TAKE_FD() is your friend

6 years agotree-wide: use sockaddr_un_unlink() at two more places where appropriate
Lennart Poettering [Mon, 15 Oct 2018 17:40:18 +0000 (19:40 +0200)]
tree-wide: use sockaddr_un_unlink() at two more places where appropriate

6 years agoudev: use safe_close() where we can
Lennart Poettering [Mon, 15 Oct 2018 17:23:09 +0000 (19:23 +0200)]
udev: use safe_close() where we can

6 years agotree-wide: add a single version of "static const int one = 1"
Lennart Poettering [Mon, 15 Oct 2018 17:21:37 +0000 (19:21 +0200)]
tree-wide: add a single version of "static const int one = 1"

All over the place we define local variables for the various sockopts
that take a bool-like "int" value. Sometimes they are const, sometimes
static, sometimes both, sometimes neither.

Let's clean this up, introduce a common const variable "const_int_one"
(as well as one matching "const_int_zero") and use it everywhere, all
acorss the codebase.

6 years agosocket-util: tighten socket_address_verify() checks a bit
Lennart Poettering [Mon, 15 Oct 2018 16:54:12 +0000 (18:54 +0200)]
socket-util: tighten socket_address_verify() checks a bit

6 years agosocket-util: tweak commenting in socket_address_get_path()
Lennart Poettering [Mon, 15 Oct 2018 16:27:33 +0000 (18:27 +0200)]
socket-util: tweak commenting in socket_address_get_path()

Let's make clear explicitly that there's always a NUL byte following the
path, and how.

6 years agosocket-util: include trailing NUL byte in SOCKADDR_UN_LEN() count for fs sockets
Lennart Poettering [Mon, 15 Oct 2018 16:26:31 +0000 (18:26 +0200)]
socket-util: include trailing NUL byte in SOCKADDR_UN_LEN() count for fs sockets

This is what unix(7) recommends, hence do so.

6 years agosd-bus: rework how we initialize struct sockaddr_un
Lennart Poettering [Mon, 15 Oct 2018 16:22:04 +0000 (18:22 +0200)]
sd-bus: rework how we initialize struct sockaddr_un

Let's use structured initialization, but more importantly, let's
increase salen by 1, if we reference AF_UNIX sockets in the file system,
so that they also contain the trailing NUL byte. This is what unix(7)
suggests to do, hence follow it.

6 years agosd-bus: make parsing of AF_UNIX socket addresses more strict
Lennart Poettering [Mon, 15 Oct 2018 16:17:57 +0000 (18:17 +0200)]
sd-bus: make parsing of AF_UNIX socket addresses more strict

Insist on NUL termination, just to be safe rather than sorry. The kernel
doesn't require it, but it's really annoying if people rely on this,
hence refuse this early.

6 years agotree-wide: port various users over to sockaddr_un_set_path()
Lennart Poettering [Mon, 15 Oct 2018 11:58:31 +0000 (13:58 +0200)]
tree-wide: port various users over to sockaddr_un_set_path()

CID 1396140
CID 1396141

6 years agosocket-util: add sockaddr_un_set_path() helper
Lennart Poettering [Mon, 15 Oct 2018 16:02:30 +0000 (18:02 +0200)]
socket-util: add sockaddr_un_set_path() helper

Properly initializing sun_path from foreign data is not easy, given the
size constraints, and NUL confusion. Let's add a helper function for
this.

6 years agotree-wide: use structured initialization for sockaddr_un
Lennart Poettering [Mon, 15 Oct 2018 11:59:07 +0000 (13:59 +0200)]
tree-wide: use structured initialization for sockaddr_un

6 years agocore: be more specific in error message
Lennart Poettering [Mon, 15 Oct 2018 11:58:00 +0000 (13:58 +0200)]
core: be more specific in error message

6 years agostrxcpyx: minor coding style updates
Lennart Poettering [Mon, 15 Oct 2018 11:57:07 +0000 (13:57 +0200)]
strxcpyx: minor coding style updates

6 years agosocket-address: document socket address parsing size restrictions in a comment
Lennart Poettering [Mon, 15 Oct 2018 11:55:48 +0000 (13:55 +0200)]
socket-address: document socket address parsing size restrictions in a comment

6 years agosocket-util: use structured initialization
Lennart Poettering [Mon, 15 Oct 2018 11:55:00 +0000 (13:55 +0200)]
socket-util: use structured initialization

6 years agotree-wide: make use of TAKE_FD() at two more places
Lennart Poettering [Mon, 15 Oct 2018 10:09:17 +0000 (12:09 +0200)]
tree-wide: make use of TAKE_FD() at two more places

6 years agotree-wide: use sockaddr_un_unlink() whereever appropriate
Lennart Poettering [Mon, 15 Oct 2018 10:08:30 +0000 (12:08 +0200)]
tree-wide: use sockaddr_un_unlink() whereever appropriate

Let's port everything over.

6 years agosocket-util: add new sockaddr_un_unlink() helper
Lennart Poettering [Mon, 15 Oct 2018 10:06:07 +0000 (12:06 +0200)]
socket-util: add new sockaddr_un_unlink() helper

The helper is supposed to properly handle cases where .sun_path does not
contain a NUL byte, and thus copies out the path suffix a NUL as
necessary.

This also reworks the more specific socket_address_unlink() to be a
wrapper around the more generic sockaddr_un_unlink()

6 years agoalloc-util: add alloca() counterparts for memdup() and memdup_suffix0()
Lennart Poettering [Mon, 15 Oct 2018 10:05:54 +0000 (12:05 +0200)]
alloc-util: add alloca() counterparts for memdup() and memdup_suffix0()

6 years agoMerge pull request #10373 from poettering/systemd-io
Zbigniew Jędrzejewski-Szmek [Mon, 15 Oct 2018 13:39:05 +0000 (15:39 +0200)]
Merge pull request #10373 from poettering/systemd-io

adopt systemd.io urls

6 years agoMerge pull request #10392 from poettering/manager-no-inotify-fail
Yu Watanabe [Sun, 14 Oct 2018 22:15:12 +0000 (07:15 +0900)]
Merge pull request #10392 from poettering/manager-no-inotify-fail

make sure /etc/localtime issues don't cause systemd to fail boot

6 years agoman/systemd.nspawn: fix reference to --timezone argument (#10403)
Ben Boeckel [Sun, 14 Oct 2018 21:16:43 +0000 (17:16 -0400)]
man/systemd.nspawn: fix reference to --timezone argument (#10403)

6 years agoMerge pull request #10394 from yuwata/fixes-found-by-clang
Lennart Poettering [Sun, 14 Oct 2018 18:11:19 +0000 (20:11 +0200)]
Merge pull request #10394 from yuwata/fixes-found-by-clang

Fix warnings reported by clang

6 years agoudev: use readlink_malloc() or its friend
Yu Watanabe [Sat, 13 Oct 2018 14:28:02 +0000 (23:28 +0900)]
udev: use readlink_malloc() or its friend

Follow-up for a2554acec652fc65c8ed0c6c1fede9ba8c3693b1 and
70068602713e8f441c5ddc2618f007f24488e422.

6 years agoMerge pull request #10381 from poettering/coverity-fixes
Yu Watanabe [Sun, 14 Oct 2018 09:58:36 +0000 (18:58 +0900)]
Merge pull request #10381 from poettering/coverity-fixes

fixes for various recent coverity issues

6 years agotest: use fabsl instead of fabs as json_variant_real() returns 'long double'
Yu Watanabe [Sat, 13 Oct 2018 14:59:16 +0000 (23:59 +0900)]
test: use fabsl instead of fabs as json_variant_real() returns 'long double'

6 years agobusctl: drop unused variable
Yu Watanabe [Sat, 13 Oct 2018 14:56:07 +0000 (23:56 +0900)]
busctl: drop unused variable

6 years agocore: set _unused_ attribute to 'reloading'
Yu Watanabe [Sat, 13 Oct 2018 14:50:04 +0000 (23:50 +0900)]
core: set _unused_ attribute to 'reloading'

Follow-up for 4df7d537c8203557d330b68ba7833515ddd4e985.

6 years agocore: ensure it's not fatal if we cannot watch /etc/localtime
Lennart Poettering [Sat, 13 Oct 2018 13:12:41 +0000 (15:12 +0200)]
core: ensure it's not fatal if we cannot watch /etc/localtime

See: #9602

6 years agocore: add debug logging if we cant watch /etc/localtime itself
Lennart Poettering [Sat, 13 Oct 2018 13:12:16 +0000 (15:12 +0200)]
core: add debug logging if we cant watch /etc/localtime itself

6 years agotest: make test-sd-device stricter
Yu Watanabe [Tue, 9 Oct 2018 13:53:13 +0000 (22:53 +0900)]
test: make test-sd-device stricter

6 years agosd-device: dedup enumerated devices
Yu Watanabe [Tue, 9 Oct 2018 13:52:33 +0000 (22:52 +0900)]
sd-device: dedup enumerated devices

6 years agotest: add test for subsystem filtering of sd_device_enumerator
Yu Watanabe [Tue, 9 Oct 2018 09:44:41 +0000 (18:44 +0900)]
test: add test for subsystem filtering of sd_device_enumerator

6 years agohashmap: introduce hashmap_first_key_and_value() and friends
Yu Watanabe [Sat, 13 Oct 2018 07:30:49 +0000 (16:30 +0900)]
hashmap: introduce hashmap_first_key_and_value() and friends

6 years agosystemctl: clean up start_unit_one() error handling
Lennart Poettering [Sat, 13 Oct 2018 12:38:46 +0000 (14:38 +0200)]
systemctl: clean up start_unit_one() error handling

Let's split exit code handling in two: "r" is only used for errno-style
errors, and "ret" is used for exit() codes. Then, let's use EXIT_SUCCESS
for checking whether the latter is already used.

This way it should always be clear what kind of error we are processing,
and when we propaate one into the other.

Moreover this allows us to drop "q" form all inner loops, avoiding
confusion when to use "q" and when "r" to store received errors.

Fixes: #9704

6 years agosystemctl: add missing OOM check
Lennart Poettering [Sat, 13 Oct 2018 12:34:56 +0000 (14:34 +0200)]
systemctl: add missing OOM check

6 years agologind: validate /run/user/1000 before we set it
Lennart Poettering [Tue, 9 Oct 2018 20:23:41 +0000 (22:23 +0200)]
logind: validate /run/user/1000 before we set it

Let's be safe than sorry, in particular as logind doesn't set it up
anymore, but user-runtime-dir@.service does, and logind doesn't really
track success of that.

6 years agocore: fix unfortunate typo in unit_is_unneeded()
Lennart Poettering [Tue, 9 Oct 2018 20:23:14 +0000 (22:23 +0200)]
core: fix unfortunate typo in unit_is_unneeded()

Follow-up for a3c1168ac293f16d9343d248795bb4c246aaff4a.

6 years agocore: make destructive transaction error a bit more useful
Lennart Poettering [Tue, 9 Oct 2018 20:22:52 +0000 (22:22 +0200)]
core: make destructive transaction error a bit more useful

6 years agoupdate TODO
Lennart Poettering [Tue, 7 Aug 2018 09:01:46 +0000 (11:01 +0200)]
update TODO

6 years agoman: also use "yes"/"no" rather than "true"/"false" in man pages
Lennart Poettering [Tue, 25 Sep 2018 10:40:35 +0000 (12:40 +0200)]
man: also use "yes"/"no" rather than "true"/"false" in man pages

We usually use yes/no in all our unit files, do the same in the man
pages.

Triggered by:

https://github.com/systemd/systemd/pull/9824#issuecomment-420729987

6 years agounits: use =yes rather than =true everywhere
Lennart Poettering [Wed, 12 Sep 2018 17:04:24 +0000 (19:04 +0200)]
units: use =yes rather than =true everywhere

So far we always used "yes" instead of "true" in all our unit files,
except for one outlier. Let's do this here too. No change in behaviour
whatsoever, except that it looks prettier ;-)

6 years agologind: automatically GC lingering users for who now user@.service (nor slice, not...
Lennart Poettering [Wed, 8 Aug 2018 14:04:40 +0000 (16:04 +0200)]
logind: automatically GC lingering users for who now user@.service (nor slice, not runtime dir service) is running anymore

This heavily borrows from @intelfx' PR #5546, but watches all three
units that are associated with a user now: the slice, the user@.service
and user-runtime-dir@.service.

The logic and reasoning behind it is the same though: there's no value
in keeping lingering users around if all their three services are gone.

Replaces: #5546
Fixes: #4162

6 years agologind: improve error propagation of user_check_linger_file()
Lennart Poettering [Wed, 8 Aug 2018 14:03:11 +0000 (16:03 +0200)]
logind: improve error propagation of user_check_linger_file()

Let's make this a bit prettier, and propagate unexpected access() errors
correctly.

(The callers of this function will suppress them, but it's nicer of they
do that, rather than us doing that twice in both the callers and the
callees)

6 years agologind: add a RequiresMountsFor= dependency from the session scope unit to the home...
Lennart Poettering [Wed, 8 Aug 2018 13:27:49 +0000 (15:27 +0200)]
logind: add a RequiresMountsFor= dependency from the session scope unit to the home directory of the user

This is useful so that during shutdown scope units are always terminated
before the mounts necessary for the home directory.

(Ideally we'd also add a similar dependency from the user@.service
instance to the home directory, but this isn't as easy as that service
is defined statically and not dynamically, and hence not easy to modify
dynamically, in particular when it comes to deps)

6 years agologind: change user-runtime-dir to query runtime dir size from logind via the bus
Lennart Poettering [Wed, 8 Aug 2018 12:50:57 +0000 (14:50 +0200)]
logind: change user-runtime-dir to query runtime dir size from logind via the bus

I think this is a slightly cleaner approach than parsing the
configuration file at multiple places, as this way there's only a single
reload cycle for logind.conf, and that's systemd-logind.service's
runtime.

This means that logind and dbus become a requirement of
user-runtime-dir, but given that XDG_RUNTIME_DIR is not set anyway
without logind and dbus around this isn't really any limitation.

This also simplifies linking a bit as this means user-runtime-dir
doesn't have to link against any code of logind itself.

6 years agologind: optionally watch utmp for login data
Lennart Poettering [Tue, 7 Aug 2018 11:49:34 +0000 (13:49 +0200)]
logind: optionally watch utmp for login data

This allows us to determine the TTY an ssh session is for, which is
useful to to proper idle detection for ssh sessions.

Fixes: #9622

6 years agologind: add hashtable for finding session by leader PID
Lennart Poettering [Tue, 7 Aug 2018 10:08:24 +0000 (12:08 +0200)]
logind: add hashtable for finding session by leader PID

This is useful later on, when we quickly want to find the session for a
leader PID.

6 years agologind: optionally, keep the user@.service instance for eached logged in user around...
Lennart Poettering [Tue, 7 Aug 2018 09:02:00 +0000 (11:02 +0200)]
logind: optionally, keep the user@.service instance for eached logged in user around for a while

This should speed up rapid logout/login cycles a bit.

By default this timeout is now set to 10s.

Fixes: #8410
Replaces: #4434

6 years agologind: minor session time handling tweaks
Lennart Poettering [Tue, 7 Aug 2018 08:40:50 +0000 (10:40 +0200)]
logind: minor session time handling tweaks

6 years agologind: rework how we manage the slice and user-runtime-dir@.service unit for each...
Lennart Poettering [Mon, 6 Aug 2018 19:44:45 +0000 (21:44 +0200)]
logind: rework how we manage the slice and user-runtime-dir@.service unit for each user

Instead of managing it explicitly, let's simplify things and rely on
regular Wants=/Requires= dependencies to pull in these units from
user@.service and the session scope, and StopWhenUneeded= to stop these
auxiliary units again. This way, they can be pulled in easily by
unrelated units too.

This simplifies things quite a bit: for each session we now only need to
manage the session scope, and for each user the user@.service, the other
units are not something we need to manage anymore.

This patch also makes sure that if user@.service of a user is masked we
will continue to work, and user-runtime-dir@.service will still be
correctly pulled in, as it is now a dependency of the scope unit.

Fixes: #9461
Replaces: #5546

6 years agologind: don't clobber bus error structure if we don't fail
Lennart Poettering [Mon, 6 Aug 2018 19:41:54 +0000 (21:41 +0200)]
logind: don't clobber bus error structure if we don't fail

6 years agologind: propagate session stop errors
Lennart Poettering [Mon, 6 Aug 2018 17:35:44 +0000 (19:35 +0200)]
logind: propagate session stop errors

Let's propagate errors from stopping sessions via seat_stop(). This is
similar to how we propagate such errors in user_stop() for all sessions
associated with a user.

Note that we propagate these errors, but we don't abort the function.

6 years agologind: introduce little helper that checks whether a session is ready
Lennart Poettering [Mon, 6 Aug 2018 17:34:39 +0000 (19:34 +0200)]
logind: introduce little helper that checks whether a session is ready

6 years agologind: use TAKE_PTR() where we can
Lennart Poettering [Mon, 6 Aug 2018 17:34:09 +0000 (19:34 +0200)]
logind: use TAKE_PTR() where we can

6 years agologind: prefer strjoin() over asprintf()
Lennart Poettering [Mon, 6 Aug 2018 17:05:57 +0000 (19:05 +0200)]
logind: prefer strjoin() over asprintf()

6 years agologind: don't rely on downgrade-to-bool
Lennart Poettering [Mon, 6 Aug 2018 17:05:26 +0000 (19:05 +0200)]
logind: don't rely on downgrade-to-bool

6 years agologind: voidify a few calls
Lennart Poettering [Mon, 6 Aug 2018 17:04:49 +0000 (19:04 +0200)]
logind: voidify a few calls

6 years agologind: make better use of logging functions
Lennart Poettering [Mon, 6 Aug 2018 17:03:27 +0000 (19:03 +0200)]
logind: make better use of logging functions

6 years agologind: never elect a session that is stopping as display
Lennart Poettering [Mon, 6 Aug 2018 17:02:29 +0000 (19:02 +0200)]
logind: never elect a session that is stopping as display

6 years agologind: make unit/job active checking more debuggable
Lennart Poettering [Mon, 6 Aug 2018 17:00:49 +0000 (19:00 +0200)]
logind: make unit/job active checking more debuggable

Let's log the error messages if we get any at debug level.

6 years agoman: add missing space
Lennart Poettering [Mon, 6 Aug 2018 16:54:51 +0000 (18:54 +0200)]
man: add missing space

6 years agosd-bus: add new API call sd_bus_error_move()
Lennart Poettering [Mon, 6 Aug 2018 16:54:03 +0000 (18:54 +0200)]
sd-bus: add new API call sd_bus_error_move()

This new call move an sd_bus_error into another one.

6 years agologind: fix bad error propagation
Lennart Poettering [Mon, 6 Aug 2018 16:21:37 +0000 (18:21 +0200)]
logind: fix bad error propagation

6 years agologind: correct bad clean-up path
Lennart Poettering [Mon, 6 Aug 2018 16:19:45 +0000 (18:19 +0200)]
logind: correct bad clean-up path

6 years agologind: save/restore User object's "stopping" field during restarts
Lennart Poettering [Mon, 6 Aug 2018 16:14:11 +0000 (18:14 +0200)]
logind: save/restore User object's "stopping" field during restarts

Whether we are stopping or not is highly relevant, hence don't forget it
across restarts.

6 years agologind: improve logging in manager_connect_console()
Lennart Poettering [Fri, 3 Aug 2018 18:21:27 +0000 (20:21 +0200)]
logind: improve logging in manager_connect_console()

let's make sure we log about every failure

Also, complain about systems where /dev/tty0 exists but
/sys/class/tty/tty0/active does not. Such systems (usually container
environments) are pretty broken as they mount something that is not a VC
to /dev/tty0 and they really shouldn't.

Systems should either have a VC or not, but not badly fake one by
mounting things wildly.

This just adds a warning message, as before we'll simply turn off VC
handling in this case.

6 years agologind: initialize Manager object with structure initialization too
Lennart Poettering [Fri, 3 Aug 2018 18:20:50 +0000 (20:20 +0200)]
logind: initialize Manager object with structure initialization too

6 years agounits: improve Description= string a bit
Lennart Poettering [Mon, 6 Aug 2018 16:15:07 +0000 (18:15 +0200)]
units: improve Description= string a bit

Let's not use the word "wrapper", as it's not clear what that is, and in
some way any unit file is a "wrapper"... let's simply say that it's
about the runtime directory.

6 years agounits: set StopWhenUnneeded= for the user slice units too
Lennart Poettering [Fri, 3 Aug 2018 18:19:38 +0000 (20:19 +0200)]
units: set StopWhenUnneeded= for the user slice units too

We'd like them to go away, just like the user-runtime-dir@.service when
they aren't needed anymore.

6 years agologind: turn of stdio locking when writing session files too
Lennart Poettering [Fri, 3 Aug 2018 18:18:55 +0000 (20:18 +0200)]
logind: turn of stdio locking when writing session files too

This just copies what we already do for user and seat files to session
files.

6 years agologind: fix serialization/deserialization of user's "display session"
Lennart Poettering [Fri, 3 Aug 2018 17:04:35 +0000 (19:04 +0200)]
logind: fix serialization/deserialization of user's "display session"

Previously this was serialized as part of the user object. This didn't
work however, as we load users first, and sessions seconds and hence
referencing a session from the user load logic cannot work.

Fix this by storing an IS_DISPLAY property along with each session, and
make the session with this set display session when it is loaded.

6 years agologind: rework Seat/Session/User object allocation and freeing a bit
Lennart Poettering [Fri, 3 Aug 2018 16:53:09 +0000 (18:53 +0200)]
logind: rework Seat/Session/User object allocation and freeing a bit

Let's update things a bit to follow current practices:

- User structure initialization rather than zero-initialized allocation

- Always propagate proper errors from allocation functions

- Use _cleanup_ for freeing objects when allocation fails half-way

- Make destructors return NULL

6 years agoformat-table: don't use unsigned when there's no point in it
Lennart Poettering [Fri, 12 Oct 2018 17:02:23 +0000 (19:02 +0200)]
format-table: don't use unsigned when there's no point in it

CID 1394372

6 years agojournal-upload: check for overflow
Lennart Poettering [Fri, 12 Oct 2018 16:59:23 +0000 (18:59 +0200)]
journal-upload: check for overflow

CID 1394386

6 years agowait-online: more voidifyin of sd_event_add_signal()
Lennart Poettering [Fri, 12 Oct 2018 16:54:37 +0000 (18:54 +0200)]
wait-online: more voidifyin of sd_event_add_signal()

CID 1394444

6 years agomachinectl: voidify calls to sd_event_add_signal()
Lennart Poettering [Fri, 12 Oct 2018 16:53:17 +0000 (18:53 +0200)]
machinectl: voidify calls to sd_event_add_signal()

CID 1394445

6 years agoudevadm: assert_se() around sigprocmask()
Lennart Poettering [Fri, 12 Oct 2018 16:52:11 +0000 (18:52 +0200)]
udevadm: assert_se() around sigprocmask()

CID #1395708