Commit Graph
96 Commits
Author SHA1 Message Date
fufesou 547da54b4e fix: bytes codex, avoid unlimit reserve()
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-06-01 12:17:37 +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
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
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
fufesou 4bc2d76292 refact(ipc): trivial changes
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-05-14 15:14:13 +08:00
fufesou a4309b5b2b feat(terminal): flag, retry output
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-29 23:37:43 +08:00
fufesou 3e31a94939 feat(option): enable perm change in accept window
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-24 16:19:31 +08:00
fufesou a24767a0ad feat: option, privacy mode
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-21 21:14:36 +08:00
fufesou ea0ac7ce15 feat(config): keys deeplink
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-16 21:22:47 +08:00
fufesou 6d44e40964 fix(fs): debug windows
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-09 19:03:21 +08:00
fufesou 77ab15f41f fix(fs): validate create, rename and remove
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-09 17:23:33 +08:00
fufesou 7cee9938bb fix(fs): refact
1. Only contiue if err is not found in validate_no_symlink_components().
2. Refact tests, RAII to remove test dirs.
3. Comments.

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-09 15:22:19 +08:00
fufesou 9633ad27ff refact(fs): file transfer refactor
1. Hide `files` in `new_write()`.
2. Remove duplicted code. - `resolve_entry_path()`.
3. Remove unseless `inline`.
4. Add comments.
5. Reduce `#[cfg]`.

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-09 15:00:53 +08:00
fufesou 4b6eb8f909 fix(fs): validate symlink in set_files
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-03 20:30:57 +08:00
fufesou b50bcfb158 fix(fs): tests
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-03 18:03:03 +08:00
fufesou 67bc27263f fix: file transfer, path traversal
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-03 16:26:13 +08:00
fufesou 40368d415d harden ipc path permissions
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-27 13:59:30 +08:00
fufesou 5519c4c289 fix(password): set_salt, comments and logs
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-23 16:50:57 +08:00
fufesou f8358bd17e fix(password): set_salt(), check if is empty, fix condition
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-23 16:33:26 +08:00
fufesou 2d7b848516 fix(password): set_salt(), check if is empty
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-23 16:28:56 +08:00
fufesou 485e2f7e22 fix(password): use password, best effort
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-23 12:18:42 +08:00
fufesou 6fcda1dcc4 fix(password): get_salt() always return value
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 20:25:26 +08:00
fufesou 01b192c068 fix(password): remoev unused import
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 19:45:37 +08:00
fufesou ace5eedc33 fix(password): remove unnecessary check
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 19:41:48 +08:00
fufesou ebf41b8524 fix(password): remove unnecessary check
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 19:11:26 +08:00
fufesou fc9d521f0b fix(password): sync config, check equal
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 19:05:04 +08:00
fufesou 71be0dcd8d fix(password): remove invalid check
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 17:08:12 +08:00
fufesou 6bc0ee0e8f fix(password): has_local_permanent_password()
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 15:36:22 +08:00
fufesou 325b8841ea fix(password): remove has_local_permanent_password
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-22 11:35:28 +08:00
fufesou 70f22e69c8 fix(password): Comments log error
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-21 09:44:08 +08:00
fufesou cf9c930439 Merge branch 'main' into fix/permanent-password-hash 2026-03-21 09:10:29 +08:00
fufesou 4435f19066 fix(password): do not update salt when updating permanent password
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-20 21:55:38 +08:00
fufesou 5d5f12a5ac fix(password): guard set_permanent_password_storage_for_sync()
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-19 21:23:29 +08:00
fufesou 37802208aa fix(password): update salt in set_permanent_password()
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-19 11:54:20 +08:00
fufesou b662b38d30 fix(password): comment TODO clear devices
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-19 11:06:34 +08:00
fufesou d98d20896e refact(password): Store permanent password as hashed verifier
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-18 17:16:50 +08:00
fufesou 204359b8cf hbb_common: harden ipc path permissions
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-03-15 09:53:13 +08:00
fufesou 9b0cff8c76 feat(config): allow auto update
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-02-27 21:02:55 +08:00
fufesou 1f5ec1219f refact(crate): libloading x11
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-01-21 11:09:44 +08:00
fufesou 6df5c2c0ce feat: linux, get_home_trusted
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-12-22 23:18:35 +08:00
fufesou 98f58b97f2 feat(fs): add init_data_stream_for_cm for cm reading
Add new method `init_data_stream_for_cm()` to TransferJob to support
file reading and digest handling in Connection Manager (CM) context.

Signed-off-by: fufesou <linlong1266@gmail.com>
2025-12-07 16:20:15 +08:00
fufesou 44462174cf Refact: Remove unused code to avoid confusion.
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-17 15:48:20 +08:00
fufesou 4f7cae670e fix: linux is_kde()
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-17 10:25:30 +08:00
fufesou ae7aaf9629 refact: proto, remove unused field
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-13 19:21:44 +08:00
fufesou 4fe91763b7 fix: Wayland resolution
1. Add filed `scale` in `message SwitchDisplay`(`message.proto`).
2. Add new function to get all display info.
3. Add help link of KDE Plasma Wayland.

Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-12 23:16:04 +08:00
fufesou 2be0b865b9 fix: advanced option tls fallback
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-04 20:52:50 +08:00
fufesou a4534b6662 refact: tls fallback, rustls -> native-tls
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-03 15:30:00 +08:00
fufesou 2985cd84b6 refact: update crate webpki-roots
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-02 23:15:26 +08:00
fufesou ae7f2b2c9d fix: crate version, webpki-roots
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-02 23:05:08 +08:00
fufesou ccb2214a0e refact: env logger, filter modules
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-11-02 22:56:25 +08:00
fufesou 54c4d869ed refact: tls native-tls fallback rustls-tls
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-10-31 12:37:23 +08:00
fufesou eca0df098a refact: rename option before inuse
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-09-28 06:37:16 +08:00
fufesou 11e477849e refact: option, touch mode, move to local
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-09-28 06:29:02 +08:00
fufesou 29bae8a4d4 feat: opt, show my cursor
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-27 07:47:16 +08:00
fufesou c99060950b fix: file transfer, resume, init finished size
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-26 17:30:17 +08:00
fufesou 3ec01f9c10 feat: advanced option, main window, always on top
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-26 00:04:04 +08:00
fufesou f6fb16d6e7 feat: file transfer, digest flag, is_resume
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-12 07:10:34 +08:00
fufesou 3704a64ad2 fix: file transfer, resume
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-11 21:02:08 +08:00
fufesou fee1a11f15 feat: clipboard files, audit
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-11 09:03:25 +08:00
fufesou 215b0e7700 feat: file transfer, resume
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-06 16:28:46 +08:00
fufesou 7f80d78614 refact: suppress warns
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-07-28 18:17:46 +08:00
fufesou 79734df69c feat: terminal, restore sessions
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-07-18 08:16:52 +08:00
fufesou d9d872a8a7 fix: linux, dm user
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-07-08 17:42:53 +08:00
fufesou bb1178384b fix: linux, workaround cmd path
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-06-25 21:37:51 +08:00
fufesou 11dcd41415 fix: linux sh path
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-06-25 17:18:41 +08:00
fufesou 958f21a254 fix: numeric one-time password on startup
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-05-23 10:26:30 +08:00
fufesou 89bb219376 feat: numeric one-time password
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-05-22 17:46:40 +08:00
fufesou ceb8146f0c feat: trackpad speed
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-05-09 14:26:51 +08:00
fufesou 8c2381278b fix: build
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-30 20:35:44 +08:00
fufesou 8e1dd7f88f feat: hostname as id
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-30 12:50:22 +08:00
fufesou b08c92ad34 feat: screenshot
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-28 18:34:59 +08:00
fufesou 04772abbef feat: linux, is locked
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-24 14:00:53 +08:00
fufesou 805fe3ee99 conf key, auto update
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-09 13:55:57 +08:00
fufesou 77113964cf fix: fs, flush before getting the buf
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-28 17:26:41 +08:00
fufesou c907ad8fb2 refact: fs, buf stream
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-27 09:50:43 +08:00
fufesou 14936c8800 Remove in login request.
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-24 20:57:41 +08:00
fufesou f4cc39135c feat: remote printer, reuse fs
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-23 11:58:27 +08:00
fufesou 07d3cc5d15 Feat. Remote printer.
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-16 22:56:53 +08:00
fufesou 33487a0b14 refact: optimize, preload peers.
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-02-20 15:33:15 +08:00
fufesou e608898d08 refact, reload peers
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-02-20 09:27:57 +08:00
fufesou f7f0e19223 refact: optimize, preload peers
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-02-19 23:25:18 +08:00
fufesou e646eb9f4d feat: file clipboard, try empty message
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-01-24 01:23:57 +08:00