Mariano Abad
f436f53f0d
fix: only fall back when nothing named an endpoint, and validate the directory
...
Review of the first version, all three correct.
The important one: `connect_to_env()` honours `WAYLAND_DISPLAY` and `WAYLAND_SOCKET`,
and the fallback ignored that choice. If an explicit endpoint was named and failed,
this could attach to a *different* compositor and read output positions from the wrong
display. It now runs only when neither variable is set, which is also the only case it
was ever justified by.
`XDG_RUNTIME_DIR` is read with `var_os` and rejected when relative, since `.` or
`../tmp` would probe against the working directory. And every failed probe is kept
instead of the last one overwriting the first, so an error naming both sockets says
what happened to both.
The comment is three lines now: the reasoning belongs here, in the commit.
2026-08-07 19:29:04 -03:00
Mariano Abad
bcb3b44433
fix(linux): find the compositor socket when WAYLAND_DISPLAY is not set
...
`get_wayland_displays` gives up as soon as `Connection::connect_to_env()` fails,
which is any process that was not handed `WAYLAND_DISPLAY`. A login screen is
the case that matters: rustdesk starts the greeter's `--server` without the
compositor variables on purpose, and the desktop layout is then unavailable for
the whole session even though the compositor is running and its socket sits in
the runtime directory of the very user that process runs as.
Measured at an sddm Plasma Wayland greeter: `/run/user/112/wayland-0` exists,
`connect(2)` to it as that user succeeds, and the registry advertises
`wl_output` and `wl_seat`. With this fallback the greeter reads the same output
layout any other session does.
Strictly a fallback after `connect_to_env` has already failed, so it cannot
change a host where that succeeds; where there is no compositor at all the
socket is simply absent and it fails exactly as before.
2026-08-07 17:36:11 -03:00
RustDesk
69cea8dafe
Merge pull request #574 from FrederickStempfle/security/fix-aligned-buffer-layout
...
fix: preserve aligned allocation layout
2026-07-26 08:02:26 +08:00
FrederickStempfle
8eaff10bb3
fix: preserve aligned allocation layout
2026-07-25 15:04:08 +00:00
RustDesk
7ee389e8e3
Merge pull request #575 from FrederickStempfle/security/cap-zstd-decompression
...
fix: cap zstd decompression output
2026-07-25 18:24:35 +08:00
FrederickStempfle
a1a701654f
fix: cap zstd decompression output
2026-07-25 09:07:19 +00:00
RustDesk
559176122b
Merge pull request #572 from 21pages/recording
...
feat(config): add recording visibility and service save path options
2026-07-24 17:09:21 +08:00
RustDesk
6ba2006f33
Merge pull request #573 from fufesou/refact/fs-expose-fn-validate-path
...
Refact/fs expose fn validate path
2026-07-24 17:08:35 +08:00
fufesou
d8b5a2fd3b
Merge branch 'main' into refact/fs-expose-fn-validate-path
2026-07-24 10:39:48 +08:00
fufesou
70949becf6
fix: expose validated path join
2026-07-24 10:20:10 +08:00
21pages
21fb4e30ae
feat(config): add recording visibility and service save path options
...
- add hide-recording-button to local settings
- add windows-service-video-save-directory to service settings
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-07-23 21:43:19 +08:00
RustDesk
5438d20225
switch_code
2026-07-17 17:44:01 +08:00
RustDesk
4bfd067765
typo
2026-07-14 14:51:51 +08:00
RustDesk
ba990f5b52
Update config.rs
2026-07-14 14:44:44 +08:00
RustDesk
7e1c392c62
Merge pull request #565 from fufesou/feat/option-allow-scope-violation
...
feat(option): allow scope violation close/alarm
2026-07-02 14:54:26 +08:00
fufesou
d27a338f27
feat(option): allow scope violation close/alarm
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-07-01 17:19:24 +08:00
RustDesk
a920d00945
Merge pull request #559 from 21pages/audit_controller_user
...
Add controlled context for controller audit attribution
2026-06-26 14:22:33 +08:00
21pages
91b13be6fd
Add controlled context for controller audit attribution
...
Add ControlledContext to rendezvous messages so the server can pass a controller-user audit ref to the controlled client.
The controlled client returns the ref when posting audit logs, allowing the server to associate those logs with the controller user.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-06-26 14:16:56 +08:00
RustDesk
387603f47c
Merge pull request #551 from 21pages/improve_ws_redirect_error_message
...
Improve WebSocket redirect error message
2026-06-04 09:51:20 +08:00
21pages
f1889f6477
Improve WebSocket redirect error message
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-06-03 15:52:15 +08:00
RustDesk
df6badca5b
Merge pull request #548 from fufesou/fix/bytes-codec-reserve-check-max
...
fix: bytes codex, avoid unlimit reserve()
2026-06-01 18:05:13 +08:00
fufesou
547da54b4e
fix: bytes codex, avoid unlimit reserve()
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-06-01 12:17:37 +08:00
RustDesk
e50ac3cd48
Merge pull request #546 from fufesou/fix/symmetric-crypt-compatibility
...
fix(crypt): symmetric crypt compatibility
2026-06-01 11:33:25 +08:00
fufesou
82ce6e7327
fix(crypt): avoid plain
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-31 13:20:48 +08:00
fufesou
14632284d7
fix(crypt): symmetric crypt compatibility
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-31 11:52:46 +08:00
RustDesk
4d8af61d5c
Merge pull request #545 from fufesou/fix/symmetric-crypt-nonce
...
fix(security): add nonce to local symmetric encryption
2026-05-30 17:50:23 +08:00
fufesou
10b354456d
fix(security): symmetric nonce, update unit tests
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-29 16:07:00 +08:00
fufesou
f1b2da51b7
fix(pin): keep pin if unchanged
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-29 15:32:16 +08:00
fufesou
e1bdb06565
fix(security): add nonce to local symmetric encryption
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-28 20:17:28 +08:00
RustDesk
2e9f641101
Merge pull request #544 from 21pages/allow-command-line-settings-when-settings-disabled
...
option allow-command-line-settings-when-settings-disabled
2026-05-28 17:22:28 +08:00
21pages
24f430b384
option allow-command-line-settings-when-settings-disabled
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-05-28 11:44:41 +08:00
RustDesk
822701e416
Merge pull request #540 from fufesou/refact/password-encrypt
...
refact(password): encrypt
2026-05-23 17:43:34 +08:00
fufesou
728b73d540
refact(password): rename and comments
2026-05-23 15:13:16 +08:00
fufesou
ce1f7b5f9a
refact(password): clear password, do not clear salt
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-23 14:43:43 +08:00
fufesou
73ab2c37ae
refact(password): do not auto migrate to version 01
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-22 21:32:33 +08:00
fufesou
2f032ad525
refact(password): early return error on invalid password
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-22 18:53:02 +08:00
fufesou
8e0c8ab939
refact(password): simplify
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-21 15:04:32 +08:00
fufesou
9e00fa2762
refact(password): check invalid with 01 when set salt
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-20 18:26:18 +08:00
fufesou
0c218232d1
refact(password): set cfg, do not early return if the password is invalid
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-20 17:27:27 +08:00
fufesou
f94992f6ca
refact(password): simplify preset password
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-20 16:57:16 +08:00
fufesou
e7af2e8488
trivial changes
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-20 14:32:54 +08:00
fufesou
cfa877d28c
trivial changes
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-20 11:08:43 +08:00
fufesou
cf108c131e
refact(password): decode preset password
2026-05-20 10:53:26 +08:00
fufesou
3f30a92913
refact(password): encrypt
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-19 12:50:43 +08:00
RustDesk
9043c15acc
Merge pull request #538 from fufesou/refact/ipc-trivial-changes
...
refact(ipc): trivial changes
2026-05-16 17:48:28 +08:00
fufesou
4bc2d76292
refact(ipc): trivial changes
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-14 15:14:13 +08:00
RustDesk
c8cbb6be28
Update rendezvous.proto
2026-05-13 18:06:39 +08:00
RustDesk
f4ef3bca2d
Update config.rs
2026-05-11 17:18:44 +08:00
RustDesk
42af0f0aed
Merge pull request #533 from fufesou/feat/terminal-retry-output
...
feat(terminal): flag, retry output
2026-05-07 12:08:56 +08:00
fufesou
a4309b5b2b
feat(terminal): flag, retry output
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-04-29 23:37:43 +08:00