Kenny Levinsen
daffed0955
logind: Use seat_path for SwitchTo
2020-10-10 19:39:28 +02:00
Kenny Levinsen
7bf91a5f9f
logind: close_device should not close fd
2020-09-28 18:53:38 +02:00
Kenny Levinsen
0132841987
libseat/seatd: Fix socket path bounds
2020-09-22 01:14:24 +02:00
Kenny Levinsen
884c1416b3
meson: Make default seatd socket path configurable
...
FreeBSD and Linux have different preferred socket locations. Expose an
option to set the location, and implement simple auto-logic for
linux/freebsd.
2020-09-22 01:14:20 +02:00
Kenny Levinsen
6fa82930d0
libseat: Execute bg events after IPC calls
...
If a background event was queued during call dispatch, and no unread
data was left on the socket, there would be no incentive for the user to
call dispatch, and as a result, the events would never be executed.
Execute events at the end of IPC calls that read from the socket to
avoid stalls.
2020-09-22 01:01:46 +02:00
Kenny Levinsen
4c22c7b004
libseat: Dispatch all non-bg events on IPC call
...
Dispatch on IPC call only dispatched until the first message was
successfully processed. This could lead to premature dispatch
termination if a background event was received during an IPC call.
Instead, continue dispatching until a non-bg opcode is reported or an
error is received.
2020-09-22 01:01:46 +02:00
Kenny Levinsen
047d8b284c
libseat: Handle SERVER_ERROR correctly
...
The connection buffer position was erroneously rewinded before reading
the protocol message when the message was a SERVER_ERROR.
2020-09-07 23:35:24 +02:00
Kenny Levinsen
5b8117f3d4
client: Do not leak idle clients on exit
2020-08-31 23:13:16 +02:00
Kenny Levinsen
bbfb770c73
linked_list: linked_list_take should concat lists
2020-08-31 14:09:59 +02:00
Kenny Levinsen
e86c9ec2b7
seatd: Remove unused device_closed msg body
2020-08-30 03:26:32 +02:00
Kenny Levinsen
c36cc962e6
linked_list: Implement linked_list_take
2020-08-30 00:05:19 +02:00
Kenny Levinsen
1ae6c3b3dd
libseat: Check euid before using builtin
2020-08-29 23:01:56 +02:00
Kenny Levinsen
52fe75d5a4
libseat: Remove pointless check
2020-08-29 22:55:17 +02:00
Kenny Levinsen
98506d2ba4
libseat: Keep track of error state
...
Store if an error has occurred and return -1 with ENOTCONN from all
future calls, avoiding attempts to use a broken connection.
2020-08-29 22:45:01 +02:00
Kenny Levinsen
8b4d139873
libseat: Improve logging with seatd conn helpers
...
Add helpers around connection access to have all logging centralized and
reduce code duplication. Improve existing helpers to further reduce code
duplication.
The seatd backend should have much better logging after this.
2020-08-29 20:56:42 +02:00
Kenny Levinsen
69d57aaf33
libseat: Assert that listener is non-NULL
2020-08-29 20:29:35 +02:00
Kenny Levinsen
6e6903829e
logind: Merge PropertiesChanged handlers
2020-08-28 22:55:25 +02:00
Kenny Levinsen
74eee486fa
libseat: Expand logging in all backends
2020-08-28 22:55:10 +02:00
Kenny Levinsen
ab4b961492
libseat: Remove useless logind fallbacks
...
The logind code is based on the wlroots implementation, which in turn
contained copy-paste code from Mutter that serves no purpose here.
2020-08-24 02:55:14 +02:00
Kenny Levinsen
26aff21058
logind: Set session type from env
2020-08-23 20:13:05 +02:00
Kenny Levinsen
8ab3fc03aa
logind: Remove session type check
2020-08-23 20:12:51 +02:00
Kenny Levinsen
24c66d8c08
logind: Remove useless check
2020-08-23 20:12:29 +02:00
Kenny Levinsen
7d2668e360
logind: Allow SwitchTo for all seats
2020-08-06 02:25:24 +02:00
Kenny Levinsen
0fd525e85e
logind: close_device always returned error
...
Error handling was broken in close_device, always returning -1.
Use the return value, and add a few errno assignments while we're at it.
2020-08-06 02:25:24 +02:00
Kenny Levinsen
3586530d81
libseat: Rename libseat_impl to seat_impl
2020-08-05 23:41:55 +02:00
Kenny Levinsen
e25688fed6
libseat: Convert clients to linked_list
2020-08-03 02:49:04 +02:00
Kenny Levinsen
c35b2d2d88
server: Stack-allocate the server
2020-08-03 02:13:47 +02:00
Kenny Levinsen
6f6f5de154
seatd: Perform clean server shutdown
2020-08-01 17:02:28 +02:00
Kenny Levinsen
56947d530e
FreeBSD compiler warning fix
2020-08-01 16:53:44 +02:00
Kenny Levinsen
61716a2c77
Initial implementation of seatd and libseat
2020-07-31 00:22:18 +02:00