1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-02 10:51:20 +03:00
Commit Graph

35714 Commits

Author SHA1 Message Date
Lennart Poettering
07ee5adb35 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
3d0ef5c7e0 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
2018-10-13 12:59:29 +02:00
Lennart Poettering
238794b150 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
9afe9efb93 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
2018-10-13 12:59:29 +02:00
Lennart Poettering
061c6607a9 logind: minor session time handling tweaks 2018-10-13 12:59:29 +02:00
Lennart Poettering
25a1ab4ed4 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
2018-10-13 12:59:29 +02:00
Lennart Poettering
ea3a7cf6c3 logind: don't clobber bus error structure if we don't fail 2018-10-13 12:59:29 +02:00
Lennart Poettering
e6958b7ea3 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
b1951bc83f logind: introduce little helper that checks whether a session is ready 2018-10-13 12:59:29 +02:00
Lennart Poettering
1b88ed3b7d logind: use TAKE_PTR() where we can 2018-10-13 12:59:29 +02:00
Lennart Poettering
d5ddc93015 logind: prefer strjoin() over asprintf() 2018-10-13 12:59:29 +02:00
Lennart Poettering
709d058756 logind: don't rely on downgrade-to-bool 2018-10-13 12:59:29 +02:00
Lennart Poettering
75bbdf478c logind: voidify a few calls 2018-10-13 12:59:29 +02:00
Lennart Poettering
e555d12635 logind: make better use of logging functions 2018-10-13 12:59:29 +02:00
Lennart Poettering
04857cd801 logind: never elect a session that is stopping as display 2018-10-13 12:59:29 +02:00
Lennart Poettering
bd26aee1f6 logind: make unit/job active checking more debuggable
Let's log the error messages if we get any at debug level.
2018-10-13 12:59:29 +02:00
Lennart Poettering
74fb9617a8 man: add missing space 2018-10-13 12:59:29 +02:00
Lennart Poettering
190128e407 sd-bus: add new API call sd_bus_error_move()
This new call move an sd_bus_error into another one.
2018-10-13 12:59:29 +02:00
Lennart Poettering
cce08496e7 logind: fix bad error propagation 2018-10-13 12:59:29 +02:00
Lennart Poettering
d88ffeeeef logind: correct bad clean-up path 2018-10-13 12:59:29 +02:00
Lennart Poettering
d865bc024b 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
0b6d55cae9 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
b25ba6cf67 logind: initialize Manager object with structure initialization too 2018-10-13 12:59:29 +02:00
Lennart Poettering
14df094a51 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
1007473b49 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
4417640013 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
1c8280fd47 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.
2018-10-13 12:59:29 +02:00
Lennart Poettering
8c29a45709 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
2018-10-13 12:59:29 +02:00
Lennart Poettering
ee7b9f1dfc format-table: don't use unsigned when there's no point in it
CID 1394372
2018-10-13 12:37:13 +02:00
Lennart Poettering
c504106c35 journal-upload: check for overflow
CID 1394386
2018-10-13 12:37:13 +02:00
Lennart Poettering
0b2c35b812 wait-online: more voidifyin of sd_event_add_signal()
CID 1394444
2018-10-13 12:37:13 +02:00
Lennart Poettering
db2d75dfbb machinectl: voidify calls to sd_event_add_signal()
CID 1394445
2018-10-13 12:37:13 +02:00
Lennart Poettering
babdf0d315 udevadm: assert_se() around sigprocmask()
CID #1395708
2018-10-13 12:37:13 +02:00
Lennart Poettering
9db296fddd efivars: add missing OOM check
CID #1395833
2018-10-13 12:37:13 +02:00
Lennart Poettering
165ad41b7f sd-ndisc: change return value of ndisc_reset() to void
We never generate anything other than 0 anyway, and we never check it,
hence let's just simplify things.
2018-10-13 12:37:13 +02:00
Lennart Poettering
76f713dfa4 sd-ndisc: voidify sd_ndisc_stop() call
CID 1395839
2018-10-13 12:37:13 +02:00
Lennart Poettering
fcadf032c0 json: fix memleak on OOM
CID 1396083
2018-10-13 12:37:13 +02:00
Lennart Poettering
913c898ca0 cgroup: voidify a few things 2018-10-13 12:37:13 +02:00
Lennart Poettering
b9839ac9d9 cgroup: make sure whitelist_device() always returns a valid return value
CID 1396094
2018-10-13 12:37:13 +02:00
Lennart Poettering
48440643f7 journal: voidify fd_nonblock()
CID #1396098
CID #1396096
CID #1396091
CID #1396086
2018-10-13 12:37:13 +02:00
Yu Watanabe
fd8879498d Revert "alloc-util: return NULL if 0-sized allocation is requested"
This reverts commit c05107767b.
2018-10-13 12:34:32 +02:00
Lucas Werkmeister
d5bf4f9b8f man: systemctl: clarify that --lines=0 is allowed (#10375)
The term “positive” is often read to exclude 0 (though “strictly
positive” is sometimes used to clarify this), so let’s explicitly state
that --lines=0 is legal and completely disables journal output.

Motivated by an answer on StackExchange [1].

[1]: https://unix.stackexchange.com/a/475068/44049
2018-10-13 17:31:40 +09:00
Yu Watanabe
8837715ef2
Merge pull request #10371 from poettering/sd-event-man-fix
trivial sd-event man page fixes
2018-10-13 17:30:44 +09:00
Jason A. Donenfeld
7d0b26a027 networkd: fix attribute length for wireguard (#10380)
This is actually a u16, not a u32, so the kernel complains:

kernel: netlink: 'systemd-network': attribute type 5 has an invalid length

This is due to:

if (nla_attr_len[pt->type] && attrlen != nla_attr_len[pt->type]) {
        pr_warn_ratelimited("netlink: '%s': attribute type %d has an invalid length.\n",
                            current->comm, type);
}

Presumably this has been working fine in functionality on little-endian
systems, but nobody bothered to try on big-endian systems.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-13 17:28:49 +09:00
Davide Cavalca
b75f0c69b3 shared: add %g, %G specifiers for group / gid (#10368) 2018-10-13 17:26:48 +09:00
Yu Watanabe
b4b3649a94
Merge pull request #10366 from poettering/in-set-fixes
IN_SET() compile time check fixes
2018-10-13 17:25:36 +09:00
Lennart Poettering
a6ee956610
Merge pull request #10356 from dtardon/covscan
assorted coverity/clang fixes
2018-10-12 18:43:04 +02:00
Lennart Poettering
1f6f77a5fb
Merge pull request #10379 from jwrdegoede/hwdb-updates
Hwdb updates
2018-10-12 18:21:15 +02:00
Hans de Goede
222b75d33e hwdb: Add mapping for unknown keycodes on Microsofy Reclusa keyboard
Add mapping for unknown keycodes on Microsoft Reclusa keyboard.
2018-10-12 16:56:08 +02:00
Hans de Goede
390611babb hwdb: Add accelerometer orientation quirk for the Onda V80 Plus tablet
Add accelerometer orientation quirk for the Onda V80 Plus tablet.
2018-10-12 16:55:59 +02:00