Opened 5 months ago

Closed 4 months ago

#23235 closed enhancement (fixed)

elogind-257.14 (sysv)

Reported by: Bruce Dubbs Owned by: zeckma
Priority: normal Milestone: 13.1
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New minor version.

Change History (6)

comment:1 by zeckma, 5 months ago

This is especially good for OpenRC as it fixed a bug with openrc-user that prevented it from working. It also adds a nss-systemd replacement, which is also good. It'll be best to have nsswitch edited on the elogind page instead of LFS, since there's no certainty that elogind will be installed later.

However, I don't know if nsswitch could accept the module being listed despite not being present. Going to have to research that when it's time. I'll probably be the one to handle this in both trunk and openrc.

comment:2 by zeckma, 5 months ago

Summary: elogind-255.23 (sysv) → elogind-257.14 (sysv)

Now 257.14. The above comment was about 257 when the ticket was for 255. Either way, we should update to 257 as it provides userdbctl, an NSS module for elogind, and other fixes.

comment:3 by zeckma, 5 months ago

Owner: changed from Randy McMurchy to zeckma
Status: assigned → new

comment:4 by zeckma, 5 months ago

Status: new → assigned

comment:5 by zeckma, 4 months ago

Version 257.13 Release

This is the first stable release of the version 257 series.
Most important additions:

    nss-elogind has been added as a drop-in replacement for nss-systemd.
    elogind-userdbd has been added as a drop-in replacement for systemd-userdbd and
    userdbctl has been added as a userdbd control tool.
    Varlink support has been added, and
    varlinkctl has been added as a varlink control tool.

The latest upstream commit this version is synced to is
systemd/v257-stable:70b5d110be7
Changes and Additions

    Added nss-elogind, including NSS user/group/shadow/gshadow lookups, synthetic root/nobody records, nss-systemd-compatible aliases, tests, and documentation. (#323)
    Added the user database stack: elogind-userdbd, elogind-userwork, userdbctl, JSON user/group records, drop-in user/group records, Varlink user/group lookup API, and SSH authorized-keys integration.
    Added varlinkctl and enabled sd-varlink support, tests, helper APIs, service metadata, and documentation.
    Added sd-path, sd-varlink, and sd-device enumerator documentation.
    Added GROUP_RECORD, USER_RECORD, USER_RECORD_BLOB_DIRS, USER_GROUP_API, USER_NAMES, UIDS-GIDS, and ENVIRONMENT documentation.
    Added loginctl daemon-reload.
    Extended loginctl with system commands from systemctl logic: halt, poweroff, reboot, kexec, sleep, suspend, hibernate, hybrid-sleep, and suspend-then-hibernate. (#304)
    Reintroduced kexec-related functionality and boot loader entry handling for reboot/kexec workflows. (#304)
    Added support for the handle-reboot-key inhibitor operation in documentation.
    Added SendPrepareForSleep() D-Bus method so the forked sleep helper can ask elogind to emit PrepareForSleep. (#299)
    Added HandleNvidiaSleep= documentation and improved Nvidia sleep handling behavior.
    Added daemon startup notification from forked elogind to the parent process, including startup success/failure reporting.
    Added cgroup v2 inotify watches for elogind-created session cgroups to detect stale or emptied session cgroups. (#297)
    Added elogind-owned session cgroup cleanup instead of relying on an external cgroup manager. (#296)
    Added daemon cgroup tracking so elogind trims its own cgroup on shutdown rather than the host root cgroup.
    Added rate limiting for memory-pressure trimming in elogind and userdbd.
    Added build options for nss-elogind and userdb.
    Added USE_NSS, USE_USERDB, and USE_AUTOKILL Makefile wrapper options.
    Added v257-stable GitHub CI branch coverage and README badge.
    Added JetBrains IDE build/test targets and updated IDE settings.
    Cleaned and reduced the TODO file for elogind-specific items.
    Removed obsolete or irrelevant systemd-only documentation and files, including sysupdate, ssh proxy/generator, TPM2 generator, mountfsd/nsresourced, capsule, and file descriptor store docs.
    Removed elogind-user, since elogind has no equivalent to systemd user service manager. (#294)
    Removed EXEC_DIR_SET_SYSTEMD_EXEC_PID usage and masked SYSTEMD_EXEC_PID helpers for elogind.
    Removed soft-reboot support paths from elogind, leaving it to a system/service manager.
    Updated README dependency requirements to glibc ≥ 2.19 and PAM ≥ 1.7.0.
    Updated many man pages and API references for elogind-specific behavior, new tools, and corrected systemd-only content.
    Updated libelogind build/linking to use libelogind naming and nodelete/version-script behavior.
    Updated public header/source symbol tests to check headers as well as sources.
    Updated tests for user records, nss-elogind, varlink, data-fd utilities, build-path, path root handling, cgroup behavior, and calendar behavior.
    Improved user/group record display and matching functionality.
    Improved pam_elogind documentation and removed unsupported systemd session-limit handling.
    Improved default capability ambient set behavior in pam_elogind.
    Improved logind startup, shutdown, cgroup, session, FIFO, and GC diagnostics.
    Improved sd-event memory trimming portability by making malloc_trim() glibc-only.

Fixed Bugs

    Fixed non-glibc strerror_r() handling in journal and bus error code. (#320)
    Fixed __STDC_VERSION__ guards for C++ and tools that do not define it. (#306)
    Fixed log_debug_elogind_errno() macro.
    Fixed strstr_ptr(), find_line_startswith(), and related const-generic string helpers.
    Fixed strstr() usage in bus_set_address_system_remote().
    Fixed a bug that caused loginctl seat-status seat0 to crash.
    Fixed sleep helper handling so hook failures can cancel sleep/poweroff correctly and emit proper notifications. (#299, #305)
    Fixed sleep hook script failure messages. (#305)
    Fixed Nvidia sleep fallback behavior when no VT is found or device writes fail.
    Fixed daemon startup error reporting and pipe handling during daemonization.
    Fixed session garbage collection on CreateSession() failure so existing sessions are not GC’d accidentally.
    Fixed inherited audit session ID handling when an ID already belongs to another UID/session.
    Fixed session FIFO cleanup and GC logic for not-yet-started sessions.
    Fixed session cleanup when leader pidfd or FIFO closes.
    Fixed session cgroup release, watching, empty detection, and cleanup logic.
    Fixed stale session cgroups not being trimmed when sessions end. (#296, #297)
    Fixed forced closing of lingering-user sessions.
    Fixed session_kill() to kill the session cgroup instead of the controller.
    Fixed pam_elogind typo and unsupported session limit logging/masking.
    Fixed pam_elogind openrc-user special handling by reverting it.
    Fixed misplaced mask markers and minor migration-mask errors.
    Fixed build on musl by avoiding malloc_info() and malloc_trim() where unavailable.
    Fixed nss-elogind build support with required helpers and tests.
    Fixed test-cgroup behavior under root and unsupported cgroup operations.
    Fixed test-format-table failures in non-UTF-8 locales.
Version 257.14 Release

This is the first bug fixe release of the version 257 series.
Most important additions

    Added optional delegated per-session cgroups on cgroup v2 via DelegateSessionCgroups= (#344)
    Added VT ownership handling for local TTY sessions on login/logout (#326)
    Added audit session inheritance checks to reject contaminated inherited audit IDs (#252)
    Added uaccess permissions for /dev/udmabuf for libcamera software ISP support

Changes and Additions

    Added DelegateSessionCgroups= config option for opt-in delegated session cgroup subtrees (#344)
    Split delegated cgroup sessions into session/ and user-owned delegated/ subtrees (#344)
    Attach session processes to a leaf cgroup when delegated session cgroups are enabled (#344)
    Updated session cgroup cleanup, killing, watching, and empty checks for delegated paths (#344)
    Added local TTY VT ownership changes to session users on login (#326)
    Restored local TTY VT ownership to root on logout and cleanup (#326)
    Added retry handling when setting DRM master to handle transient EBUSY errors (#335)
    Added debug logging for failed session device resume/save operations (#335)
    Added uaccess tag for /dev/udmabuf
    Improved external sleep tool execution, waiting, cleanup, and logging
    Always notify login1 clients before entering sleep (#324)

Fixed Bugs

    Fixed segfault in e-poweroff/e-reboot by using the correct action handle (#341)
    Fixed fork-failure cleanup for shutdown and sleep actions (#341)
    Fixed transient DRM master EBUSY failures during device resume (#335)
    Fixed PSI notifier handling after watched cgroups are removed (#331)
    Fixed stream socket handling when EPOLLIN and EPOLLRDHUP are reported (#331)
    Fixed session garbage collection after release timeout stops a session (#327)
    Fixed missing VT ownership management for local TTY sessions (#326)
    Fixed missing sleep notifications when suspend interrupts were disabled (#324)
    Fixed inherited audit session IDs from contaminated daemon parents (#252)
    Fixed sleep config memory leaks
    Fixed cgroup path debug logging to print the correct variable

comment:6 by zeckma, 4 months ago

Resolution: → fixed
Status: assigned → closed
Note: See TracTickets for help on using tickets.