Commit 9df486a
fix(ipc): harden local IPC authorization and portable-service bootstrap flow (rustdesk#14671)
* fix(ipc): harden ipc access
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): full cmd path, comments, simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): portable service, ipc exit
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): Remove unused logs
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): Use SetEntriesInAclW instead of icacls
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): Comments
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): check is_reparse_point
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): shmem name, no fallback
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): Simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): better exit and clear
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): portable service, better exit
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): comments, id -u
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: comments linux headless, rx desktop ready
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): magic number
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): update deps
Signed-off-by: fufesou <linlong1266@gmail.com>
* Update Cargo.lock
* Update Cargo.lock
* fix(ipc): harden ipc, test `identity_unavailable`
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): portable service, check dir of shmem
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): macos, better check exe allowed
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): update hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): update hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): harden ipc, better active uid for uinput
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): harden portable service token validation
Compare portable service IPC tokens in constant time and document the
CSPRNG source used for one-time token generation. Clarify Windows IPC
authorization comments around canonical path matching and partial peer
identity lookup.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): harden portable service token handling
Generate the portable service IPC token directly from OsRng, keep token
comparison in the IPC layer as a fixed-length byte-wise check, and document
the malformed-frame behavior for protected service IPC.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(ipc): comments
Signed-off-by: fufesou <linlong1266@gmail.com>
---------
Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>1 parent 72d27c3 commit 9df486a
12 files changed
Lines changed: 4496 additions & 245 deletions
File tree
- src
- ipc
- platform
- windows
- server
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
150 | 156 | | |
151 | 157 | | |
152 | 158 | | |
| |||
0 commit comments