Tags: kennylevinsen/seatd
Tags
seatd 0.7.0
This release contains 36 changes from 3 contributors.
Some highlights of this release are:
- Support for NetBSD and wscons devices
- Fix for a polling bug in the logind libseat backend
Breaking changes:
- Removal of SEATD_SOCK and runtime socket path configuration
- Removal of SEATD_LOGLEVEL, replaced by a command-line argument
Kenny Levinsen (25):
libseat: Use SOCK_CLOEXEC and SOCK_NONBLOCK
logind: Always send ping if data is queued
seatd: Remove SOCK_PATH and improve cleanup
seatd: Ensure socket gets unlinked on error
seatd-launch: Do not unlink socket path
seatd: Fix usage rendering
seatd-launch: Minor readability improvements
seatd: Command-line argument for loglevel
seatd: Handle socket unlink errors
seatd: Remove runtime socket path configuration
seatd: Change default log-level to info
meson: Only set libseat defines for libseat itself
builtin: Close other end of socketpair after fork
seatd: Shut down on client disconnect in builtin
builtin: Remove deathsig and log start/stop
meson: Fix meson warnings
Bump version to 0.7.0
ci: Set loglevel argument to debug
readme: Mention NetBSD
meson: library soversion arg should be string
terminal: Revert FreeBSD behavior in set_keyboard
wscons: Move to its own device type
drm: Make dev_is_drm local to logind backend
wscons: Fix STRLEN
seatd-launch: Avoid argv[0] in help text
Simon Ser (9):
seatd: avoid overwriting errno in set_nonblock error handling
seatd: don't log errno on EVENT_ERROR
build: don't use cc.get_supported_arguments for defines
build: use list for logind dep
build: don't use sh for scdoc
build: use meson.override_dependency
readme: add irc:// link
seatd: handle client_create failure
seatd: refuse to compile with missing get_peer impl
illiliti (2):
Initial netbsd support
ci: Add NetBSD
seatd 0.6.4
This release contains a security fix for a vulnerability in the
seatd-launch executable.
A user could specify a socket path that collides with an existing file.
If seatd-launch had the SUID bit set and was owned by a privileged user,
this could be used to remove files that the calling user itself did not
have sufficient privileges to remove.
seatd and libseat are not affected by this vulnerability.
Kenny Levinsen (3):
seatd-launch: Remove socket path command line arg
seatd-launch: Use snprintf for socket path
Bump version to 0.6.4
seatd 0.6.3
This release fixes an issue where an interaction between how events
fired from libseat's seatd backend and libinput as of version 1.19 could
cause a compositor to segfault. It also introduces support in libseat's
logind backend for correctly opening an inactive seat while the logind
session is inactive.
Kenny Levinsen (8):
seatd: Implement ping request to wake up later
logind: Send ping to wake us up later
clang-format: Fix alignment
ci: Inline smoketest into build scripts
logind: Improve error handling in open_seat
ci: Add logind smoketest to arch
logind: Set userdata for ping_handler
Bump version to 0.6.3
Simon Ser (2):
logind: check if session is active on startup
examples/simpletest: check for libseat_dispatch failures
seatd 0.6.2
This relase contains a security fix for a vulnerability in the
seatd-launch executable.
A user could manipulate the PATH environment variable to cause
seatd-launch to load a different executable than seatd. If seatd-launch
had the SUID bit set and was owned by a privileged user, this could be
used to mount a privilege escalation attack.
seatd and libseat are not affected by this vulnerability.
Kenny Levinsen (4):
ci: Install seatd instead of manipulating PATH
seatd-launch: Use absolute path for seatd
seatd-launch: Specify exact environment to seatd
Bump version to 0.6.2
seatd 0.6.1
This bugfix release addresses usability issues with seatd-launch.
Jan Beich (1):
seatd-launch: respect PATH when looking for command
Kenny Levinsen (4):
man: Add seatd-launch(1) to SEE ALSO of seatd(1)
seatd-launch: Use optind to find the command
man/seatd-launch: Make mssage about root clearer
Bump version to 0.6.1
Simon Ser (2):
seatd-launch: exit with status >128 if child is signalled
seatd-launch: print unlink/kill errors
seatd 0.6.0
This release contains 54 changes from 6 contributors.
Some highlights of this release are:
- s6-style readiness notification support for seatd
- seatd-launch, which handles starting seatd and a consumer together,
has been introduced as a superior alternative to the builtin libseat
backend and as a convenient way to use seatd outside a service manager
- The builtin backend no longer blocks root from using it
- Meson options have been renamed to indicate what component they target
- Various fixes and improvements
Fabrice Fontaine (1):
meson.build: fix build with gcc < 7
Greg Depoire--Ferrer (2):
Revert "libseat: Check euid before using builtin"
libseat: Update builtin backend root requirement documentation
Jan Beich (1):
client: enable cr_pid on FreeBSD >= 12.3
Kenny Levinsen (34):
meson: Fix logind backend auto mode
meson: Minor cleanup
Correct minor misspellings
meson: Disable examples by default
ci: Reduce test runs from 5 to 2
ci: Remove unnecessary env vars
contrib: Add Documentation to systemd unit
readme: Remove alpha label
Avoid a clang-format quirk
ci: Use 'auto' for arch linux logind
meson: make 'logind' var always available
contrib/systemd: Use a different group
meson: Support building builtin without seatd
readme: Update discuss section
libseat/seatd: Return executed events
libseat/seatd: Add dispatch_pending_and_execute
libseat: Rename dispatch_background in backends
seatd: We shouldn't poll if predispatch > 0
seatd: s6-style readiness notification support
seatd: Only set UID/GID when specified
seatd-launch: Add seatd launch wrapper
ci: Use seatd-launch
ci: Fix meson flags
seatd-launch: Command line argument support
seatd: Improve socket permission error handling
seatd: Use path in chmod/chown operations
logind: Remove redundant null check
libseat: Fix build of builtin backend
seat: Avoid holding a tty fd
seat: Allow new clients when active is pending ack
seatd-launch: Set socket permissions directly
man: Add simple seatd-launch(1) page
seatd-launch: Fix chmod error goto
Bump version to 0.6.0
Simeon Schaub (1):
link with rt
Simon Ser (15):
Add no-op session
meson: declare libseat dependency
build: add explicit logind provider option, auto-detect by default
build: fix logind feature summary when auto-detected
build: don't explicitly search for sh
build: don't allow "auto" for seatd, builtin, server and examples
build: disable logind on -Dauto_features=disabled -Dlogind=auto
build: set pkgconfig/dependency variables for features
libseat/seatd: downgrade ENOENT log to info
build: add prefix to libseat options
seatd-launch: propagate child exit status
seatd-launch: don't use gotos in child processes
seatd-launch: check for getpwuid errors
Make libseat_seat_listener const
Add .editorconfig
seatd 0.5.0
Aleksei Bavshin (1):
meson: ignore 'man-pages' if 'server' is disabled
Isaac Freund (1):
libseat: log error when failing to open socket
Kenny Levinsen (29):
ci: Clean up build manifests
poller: Retry poll immediately on EINTR
client: More robust handling of client links
terminal: Improve logging
logind: switch_session should return 0 on success
client: Do not use SOL_SOCKET for LOCAL_PEERCRED
client: Use cr_pid if available
client: Fix typo in cr_pid usage
simpletest: Close fd after closing device
logind: Send ReleaseControl when closing seat
seat: Remove unused arg from seat_deactive_device
client: Replace pending_disable with state enum
seatd: Tear down VT when disabled client closes
libseat: Fix typo in doc string
logind: Fix return values from close_device/get_fd
seatd: Set errno in seat_add_client
Convert a few debug logs to error logs
seatd: Clean up debug logs a bit
client: Remove link if seat_add_client succeeds
seatd: Close cur_ttyfd in seat_destroy
clang-format
log: Remove function name from log
Normalize log texts a bit
log: Include debug logs in release builds
meson: Clean up test declarations a bit
meson: Make summary prettier
meson: Fix indentation
ci: Add clang-extra-tools to alpine
Bump version to 0.5.0
Simon Ser (1):
libseat/backend/logind: stop waiting for CanGraphical
seatd 0.4.0
Notable improvements in this release includes several fixes to IPC
connection handling, VT switching and FreeBSD portability.
Kenny Levinsen (23):
poller: Raise signals through self-pipe
client: Remove unnecessary active_client check
seat: Rework seat activation/switch logic
seat: Plug leak of deactivated fds
seat: Reuse deactivate logic, more logging
seatd: Log on exit
libseat: Dispatch all non-bg events on IPC call
libseat: Execute bg events after IPC calls
poller: Add unittest
drm: Relax drm file detection, support FreeBSD
meson: Make default seatd socket path configurable
libseat/seatd: Fix socket path bounds
terminal: Fix VT numbering on FreeBSD
seat: Use current VT for switch and ack
terminal: Ack both release and acquire
seat: Only close VT if no new session was found
logind: close_device should not close fd
logind: Use seat_path for SwitchTo
logind: clang-format
libseat: Better error reporting from open_seat
connection: Add unittest
readme: Update mailing list link
Bump version to 0.4.0
seatd 0.3.0
This release adds versioning of the libseat .so file, a few portability
fixes, and various internal improvements.
Isaac Freund (1):
meson: fix manpage generation for cross builds
Kenny Levinsen (25):
libseat: Assert that listener is non-NULL
libseat: Improve logging with seatd conn helpers
libseat: Keep track of error state
libseat: Remove pointless check
libseat: Check euid before using builtin
protocol: Add note to remove device_closed msg
seat: Destroy all clients on teardown
linked_list: Implement linked_list_take
seatd: Remove unused device_closed msg body
seatd: Slight error handling cleanup
seatd: Explicit cast -1 to unsigned gid_t
poller: Make event sources opaque
server: Convert seat list to linked_list
linked_list: linked_list_take should concat lists
poller: Convert to linked_list
Remove unused list implementation
test: Add test_run and test_assert macros
server: Remember to remove seat from list
poller: Remember to remove sources from list
client: Do not leak idle clients on exit
Move list removal to seat/client destroy
ci: ASan all build steps on arch
ci: ASan smoketest on FreeBSD
client: Only unlink if on the idle list
libseat: Handle SERVER_ERROR correctly
seatd 0.2.0
Kenny Levinsen (10):
libseat: Remove useless logind fallbacks
simpletest: Set log level to debug
terminal: Set K_RAW and term raw mode on FreeBSD
terminal: FreeBSD VT num is 1 higher than tty num
terminal: Construct TTY paths correctly on FreeBSD
terminal: Explain FreeBSD current_vt behavior
libseat: Only print backend attempts for matches
libseat: Expand logging in all backends
logind: Merge PropertiesChanged handlers
Bump version to 0.2.0
Simon Ser (4):
Rename enum log_level to libseat_log_level
Introduce libseat_set_log_handler
Nuke LIBSEAT_LOGLEVEL
Introduce libseat_set_log_level
PreviousNext