summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAge
* Prep v236: Adapt elogind parts in the build system to upstream changes.Sven Eden2018-03-26
|
* Prep v236: Apply missing upstream updates to the build systemSven Eden2018-03-13
|
* core: add EXTEND_TIMEOUT_USEC={usec} - prevent timeouts in ↵Daniel Black2017-12-14
| | | | | | | | | | | | | | | | | | | | | startup/runtime/shutdown (#7214) With Type=notify services, EXTEND_TIMEOUT_USEC= messages will delay any startup/ runtime/shutdown timeouts. A service that hasn't timed out, i.e, start time < TimeStartSec, runtime < RuntimeMaxSec and stop time < TimeoutStopSec, may by sending EXTEND_TIMEOUT_USEC=, allow the service to continue beyond the limit for the execution phase (i.e TimeStartSec, RunTimeMaxSec and TimeoutStopSec). EXTEND_TIMEOUT_USEC= must continue to be sent (in the same way as WATCHDOG=1) within the time interval specified to continue to reprevent the timeout from occuring. Watchdog timeouts are also extended if a EXTEND_TIMEOUT_USEC is greater than the remaining time on the watchdog counter. Fixes #5868.
* core: add a new sd_notify() message for removing fds from the FD store againLennart Poettering2017-11-13
| | | | | | | | | Currenly the only way to remove fds from the fdstore is to fully stop the service, or to somehow trigger POLLERR/POLLHUP on the fd, in which case elogind will remove the fd automatically. Let's add another way: a new message that can be sent to remove fds explicitly, given their name.
* man: slightly improve the sd_notify() documentation regarding READY=1Lennart Poettering2017-11-13
| | | | | READY=1 may be used to signal when a service finished startup, but also when it finished reloading. Say so.
* service: reorder sd_notify() handling a bitLennart Poettering2017-11-13
| | | | | Let's keep handling of WATCHDOG= and WATCHDOG_USEC= together. No functional changes.
* meson: restore building of man pages on demand even if -Dman=falseZbigniew Jędrzejewski-Szmek2017-11-24
| | | | | | | I want to configure -Dman=false for speed, but be able to build a specific man page sometimes to check my edits. Commit 5b316b9ea6c broke this by mistake. Let's adjust the condition to better match the logic of disabling tests only if xsltproc is really not found.
* Add missing headers and SPDX identifiers to man pagesZbigniew Jędrzejewski-Szmek2017-11-18
|
* logind: fix SetLinger to authorize by client's effective User IDAlan Jenkins2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SetLinger is authorized by the PolicyKit action "set-self-linger", if it is not passed an explicit UID. According to comments we were determining the default UID from the client's session. However, user processes e.g. which are run from a terminal emulator do not necessarily belong to a session scope unit. They may equally be started from the elogind user manager [1][2]. Actually the comment was wrong, and it would also have worked for processes started from the elogind user manager. Nevertheless it seems to involve fetching "augmented credentials" i.e. it's using a racy method, so we shouldn't have been authenticating based on it. We could change the default UID, but that raises issues especially for consistency between the methods. Instead we can just use the clients effective UID for authorization. This commit also fixes `loginctl enable-linger $USER` to match the docs that say it was equivalent to `loginctl enable-linger` (given that $USER matches the callers user and owner_uid). Previously, the former would not have suceeded for unpriviliged users in the default configuration. [1] It seems the main meaning of per-session scopes is tracking the PAM login process. Killing that provokes logind to revoke device access. Less circularly, killing it provokes getty to hangup the TTY. [2] User units may be started with an environment which includes XDG_SESSION_ID (presuambly GNOME does this?). Or not.
* meson: do not include man/meson.build if xsltproc not foundYu Watanabe2017-10-31
| | | | Fixes #7232.
* Prep 229.9: Make all supportable API functions visible.Sven Eden2017-12-12
| | | | | | | | | | The process of cleaning up elogind, meaning to mask all bits that are unneeded by elogind, has been finished a while ago. It is therefore time to re-enable all previously masked API functions that elogind can support. This will make it easier for future developers to integrate elogind into their software where they already support systemd-login.
* man: explain precedence for options which take a list (#7010)Zbigniew Jędrzejewski-Szmek2017-10-06
| | | | Hopefully finally fixes #6639.
* build-sys: use #if Y instead of #ifdef Y everywhereZbigniew Jędrzejewski-Szmek2017-11-23
| | | | | | | | | | | | | | | The advantage is that is the name is mispellt, cpp will warn us. $ git grep -Ee "conf.set\('(HAVE|ENABLE)_" -l|xargs sed -r -i "s/conf.set\('(HAVE|ENABLE)_/conf.set10('\1_/" $ git grep -Ee '#ifn?def (HAVE|ENABLE)' -l|xargs sed -r -i 's/#ifdef (HAVE|ENABLE)/#if \1/; s/#ifndef (HAVE|ENABLE)/#if ! \1/;' $ git grep -Ee 'if.*defined\(HAVE' -l|xargs sed -i -r 's/defined\((HAVE_[A-Z0-9_]*)\)/\1/g' $ git grep -Ee 'if.*defined\(ENABLE' -l|xargs sed -i -r 's/defined\((ENABLE_[A-Z0-9_]*)\)/\1/g' + manual changes to meson.build squash! build-sys: use #if Y instead of #ifdef Y everywhere v2: - fix incorrect setting of HAVE_LIBIDN2
* build-sys: bump xslt maxdepth limit (#6863)Zbigniew Jędrzejewski-Szmek2017-09-19
| | | | | With libxslt-1.30, builds were failing on some recursion depth limit with elogind.index.xml. Bumping the limit fixes the issue.
* man: describe user@host:machine syntaxZbigniew Jędrzejewski-Szmek2017-09-17
| | | | Fixes #6734.
* man: use "filename" not "file name" by defaultZbigniew Jędrzejewski-Szmek2017-09-15
| | | | | | | We settled on "filename" and "file system", so change a couple of places for consistency. The exception is when there's an adjective before "file" that binds more strongly then "name": "password file name", "output file name", etc. Those cases are left intact.
* man: unify titling, fix description of precedence in sysusers.d(5)Zbigniew Jędrzejewski-Szmek2017-09-14
| | | | | | | | | Fixes #6639. (This behaviour of elogind-sysusers is long established, so it's better to adjust the documentation rather than change the code. If there are any situations out there where it matters, users must have adjusted to the current behaviour.)
* Prep v235: Update build system to fit elogindSven Eden2017-08-16
| | | | | | - Update man/rules/meson.build with elogind set of xml files. - Update documentation generating tools to fit elogind. - Follow upstream and link against libelogind-shared-<version>.so
* Prep v235: Apply upstream fixes (2/10) [man]Sven Eden2017-08-14
|
* Prep v235: Remove superfluous .gitignore filesSven Eden2017-08-14
|
* build-sys: fix invalid args detected by meson 0.42 (#6561)userwithuid2017-08-10
| | | | | | | | | | | | some run_target() calls were using params from custom_target() example message: WARNING: Passed invalid keyword argument "input". This will become a hard error in the future. New way to call targets: ninja man/man ninja man/html ninja man/update-man-rules
* core: propagate reload from RELOADING=1 notification (#6550)Jouke Witteveen2017-08-10
|
* General: Update build system to upstream support of meson+ninja.Sven Eden2017-08-04
| | | | | | | | Upstream thinks, that the auto tools are too 'legacy', or that they are at least no longer fitting. We follow, as the classic auto tools files have been removed, so no other choice here...
* Prep v234: Clarify status of $XDG_RUNTIME_DIRSven Eden2017-07-25
|
* man: fix spelling error of sd_bus_error_set_const (#6246)Lars Karlitski2017-07-25
|
* core: permit FDSTORE=1 messages with non-pollable fdsLennart Poettering2017-07-25
| | | | | | | | | This also alters the documentation to recommend memfds rather than /run for serializing state across reboots. That's because /run doesn't actually have the same lifecycle as the fd store, as it is cleared out on restarts. Fixes: #5606
* man: update sd_get_seats(3)Yu Watanabe2017-07-25
|
* sd-login: translate -ENOMEDIUM to -ENODATAZbigniew Jędrzejewski-Szmek2017-07-25
| | | | | | | | | | The -ENOMEDIUM return value was introduced in v232-1001-g2977724b09, ('core: make hybrid cgroup unified mode keep compat /sys/fs/cgroup/elogind hierarchy'), and would be returned by cg_pid_get_path_shifted(), but the documented and expected return value is -ENODATA. Let's just catch ENXIO/ENOMEDIUM and translate it to ENODATA in all cases. Complements 171f8f591ff27ebb5ff475b7a9d1f13a846c9331, fixes #6012.
* sd-login: always return two arrays of same length from sd_seat_get_sessionsZbigniew Jędrzejewski-Szmek2017-07-25
| | | | | | | | sd_seat_get_sessions returns two arrays, that in principle should always match: the session names and corresponding uids. The second array could be shorter only if parsing or uid conversion fails. But in that case there is no way to tell *which* uid is wrong, so they are *all* useless. It's better to simplify things and just return an error if parsing fails.
* man: extend documentation on sd_bus_add_match a bit()Lennart Poettering2017-07-25
| | | | | | | Explain briefly how the concept of "sd_bus_slot" works. This recently came up on the mailing list, hence let's document this for the next time.
* test-login: make the test non-manualZbigniew Jędrzejewski-Szmek2017-07-25
| | | | | | | | | | | | | | | | | | | | test-login.c is largely rewritten to use _cleanup_ and give more meaningful messages (function names are used instead of creative terms like "active session", so that when something unexpected is returned, it's much easier to see what function is responsible). The monitoring part is only activated if '-m' is passed on the command line. It runs against the information from /run/elogind/ in the live system, but that should be OK: logind/sd-login interface is supposed to be stable and both backwards and forwards compatible. If not running in a login session, some tests are skipped. Those two changes together mean that it's possible to run test-login in the test suite. Tests for sd_pid_get_{unit,user_unit,slice} are added.
* man: fix links to external man pagesZbigniew Jędrzejewski-Szmek2017-07-25
| | | | linkchecker ftw!
* Export sd_bus_message_append_ap. It is renamed to sd_bus_message_appendv to ↵Federico2017-07-25
| | | | | | | follow elogind naming conventions. (#5753) Moreover, man page for sd_bus_message_append is updated with reference to new exposed function. Makefile-man is updated too, to reflect new alias.
* Fix typo in function name (#5565)Michal Sekletar2017-07-25
|
* Prep v233.3: Add missing documentation for API functions exported by ↵Sven Eden2017-07-20
| | | | elogind. (unreviewed)
* Prep v233.3: Unmask various functions for future coverage tests.Sven Eden2017-07-19
| | | | | These functions, although not used by elogind itself, are mostly tiny and crucial for important tests to work.
* Prep v233: Update root build files to upstream versionSven Eden2017-07-17
|
* man: update pam_elogind and elogind-logind man pages a bitLennart Poettering2017-07-17
| | | | | | | This builds on @utezduyar's #4640, but extends on it. Fixes: #4550 Replaces: #4640
* man: document that sd_notify() is racy in some casesLennart Poettering2017-07-17
|
* man: use unicode ellipsis in more placesZbigniew Jędrzejewski-Szmek2017-07-17
| | | | | | | | | | | | | | As requested in https://github.com/elogind/elogind/pull/4864#pullrequestreview-12372557. docbook will substitute triple dots for the ellipsis in man output, so this has no effect on the troff output, only on HTML, making it infinitesimally nicer. In some places we show output from programs, which use dots, and those places should not be changed. In some tables, the alignment would change if dots were changed to the ellipsis which is only one character. Since docbook replaces the ellipsis automatically, we should leave those be. This patch changes all other places.
* man: Document return value of event source prepare callback (#4834)Martin Ejdestig2017-07-17
|
* sd-id128: add new sd_id128_get_machine_app_specific() APILennart Poettering2017-07-17
| | | | | | | | | | | | This adds an API for retrieving an app-specific machine ID to sd-id128. Internally it calculates HMAC-SHA256 with an 128bit app-specific ID as payload and the machine ID as key. (An alternative would have been to use siphash for this, which is also cryptographically strong. However, as it only generates 64bit hashes it's not an obvious choice for generating 128bit IDs.) Fixes: #4667
* man/sd_watchdog_enabled: correct minor typos (#4632)Jonathan Boulle2017-07-17
|
* Prep v232: Apply missing updates from upstreamSven Eden2017-07-05
|
* man: Fix event source priority enum names in synopsis (#4478)Martin Ejdestig2017-07-05
|
* man: add a note that FDSTORE=1 requires epoll-compatible fdsZbigniew Jędrzejewski-Szmek2017-07-05
| | | | Let's say that this was not obvious from our man page.
* man: typo fixesThomas Hindoe Paaboel Andersen2017-07-05
| | | | A mix of fixes for typos and UK english
* man: expand the documentation of $SYSTEMD_PAGER and related environment ↵Lennart Poettering2017-07-05
| | | | | | | | variables Document the default pagers used, as well as $SYSTEMD_LESSCHARSET. Fixes: #4143
* core: add "invocation ID" concept to service managerLennart Poettering2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new invocation ID concept to the service manager. The invocation ID identifies each runtime cycle of a unit uniquely. A new randomized 128bit ID is generated each time a unit moves from and inactive to an activating or active state. The primary usecase for this concept is to connect the runtime data PID 1 maintains about a service with the offline data the journal stores about it. Previously we'd use the unit name plus start/stop times, which however is highly racy since the journal will generally process log data after the service already ended. The "invocation ID" kinda matches the "boot ID" concept of the Linux kernel, except that it applies to an individual unit instead of the whole system. The invocation ID is passed to the activated processes as environment variable. It is additionally stored as extended attribute on the cgroup of the unit. The latter is used by journald to automatically retrieve it for each log logged message and attach it to the log entry. The environment variable is very easily accessible, even for unprivileged services. OTOH the extended attribute is only accessible to privileged processes (this is because cgroupfs only supports the "trusted." xattr namespace, not "user."). The environment variable may be altered by services, the extended attribute may not be, hence is the better choice for the journal. Note that reading the invocation ID off the extended attribute from journald is racy, similar to the way reading the unit name for a logging process is. This patch adds APIs to read the invocation ID to sd-id128: sd_id128_get_invocation() may be used in a similar fashion to sd_id128_get_boot(). PID1's own logging is updated to always include the invocation ID when it logs information about a unit. A new bus call GetUnitByInvocationID() is added that allows retrieving a bus path to a unit by its invocation ID. The bus path is built using the invocation ID, thus providing a path for referring to a unit that is valid only for the current runtime cycleof it. Outlook for the future: should the kernel eventually allow passing of cgroup information along AF_UNIX/SOCK_DGRAM messages via a unique cgroup id, then we can alter the invocation ID to be generated as hash from that rather than entirely randomly. This way we can derive the invocation race-freely from the messages.
* add a new tool for creating transient mount and automount unitsLennart Poettering2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | This adds "elogind-mount" which is for transient mount and automount units what "elogind-run" is for transient service, scope and timer units. The tool allows establishing mounts and automounts during runtime. It is very similar to the usual /bin/mount commands, but can pull in additional dependenices on access (for example, it pulls in fsck automatically), an take benefit of the automount logic. This tool is particularly useful for mount removable file systems (such as USB sticks), as the automount logic (together with automatic unmount-on-idle), as well as automatic fsck on first access ensure that the removable file system has a high chance to remain in a fully clean state even when it is unplugged abruptly, and returns to a clean state on the next re-plug. This is a follow-up for #2471, as it adds a simple client-side for the transient automount logic added in that PR. In later work it might make sense to invoke this tool automatically from udev rules in order to implement a simpler and safer version of removable media management á la udisks.