feat: harden local shell, SFTP, and desktop session reliability

Finder-launched terminals now inherit a login PATH so tools like ollama resolve, destructive SFTP/editor actions require confirmation, and terminal search plus window dragging work again. SSH forwards and RDP sessions keep listeners and survive reconnect without FastPath crashes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Logan.LiandCursor committed 2026-08-16 16:08:11 +08:00
1 parent 188f3556ed
commit 08696896f9
223 files changed
+13493 -3423

No files matched your search

+84 -14
View File
@@ -1158,6 +1158,22 @@ dependencies = [
"subtle",
]
[[package]]
name = "curve25519-dalek"
version = "4.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
dependencies = [
"cfg-if",
"cpufeatures 0.2.17",
"curve25519-dalek-derive",
"digest 0.10.7",
"fiat-crypto 0.2.9",
"rustc_version",
"subtle",
"zeroize",
]
[[package]]
name = "curve25519-dalek"
version = "5.0.0-rc.1"
@@ -1168,7 +1184,7 @@ dependencies = [
"cpufeatures 0.3.0",
"curve25519-dalek-derive",
"digest 0.11.3",
"fiat-crypto",
"fiat-crypto 0.3.0",
"rustc_version",
"subtle",
"zeroize",
@@ -1506,18 +1522,42 @@ dependencies = [
"digest 0.11.3",
"elliptic-curve",
"rfc6979",
"signature",
"signature 3.0.0",
"spki 0.8.0",
"zeroize",
]
[[package]]
name = "ed25519"
version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
dependencies = [
"pkcs8 0.10.2",
"signature 2.2.0",
]
[[package]]
name = "ed25519"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29fcf32e6c73d1079f83ab4d782de2d81620346a5f38c6237a86a22f8368980a"
dependencies = [
"signature",
"signature 3.0.0",
]
[[package]]
name = "ed25519-dalek"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9"
dependencies = [
"curve25519-dalek 4.1.3",
"ed25519 2.2.3",
"serde",
"sha2 0.10.9",
"subtle",
"zeroize",
]
[[package]]
@@ -1526,8 +1566,8 @@ version = "3.0.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1685663e23882cd8517dcbcb1c23a6ebff4433c22dfb681d760219b62cd1b849"
dependencies = [
"curve25519-dalek",
"ed25519",
"curve25519-dalek 5.0.0-rc.1",
"ed25519 3.0.0",
"rand_core 0.10.1",
"sha2 0.11.0",
"subtle",
@@ -1549,7 +1589,7 @@ dependencies = [
"hkdf",
"hybrid-array",
"pem-rfc7468",
"pkcs8",
"pkcs8 0.11.0",
"rand_core 0.10.1",
"sec1",
"subtle",
@@ -1681,6 +1721,12 @@ dependencies = [
"subtle",
]
[[package]]
name = "fiat-crypto"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
[[package]]
name = "fiat-crypto"
version = "0.3.0"
@@ -2673,6 +2719,8 @@ dependencies = [
"ironrdp-cliprdr",
"ironrdp-connector",
"ironrdp-core",
"ironrdp-displaycontrol",
"ironrdp-dvc",
"ironrdp-graphics",
"ironrdp-input",
"ironrdp-pdu",
@@ -3757,10 +3805,13 @@ dependencies = [
"arboard",
"base64 0.22.1",
"dirs",
"ed25519-dalek 2.2.0",
"hex",
"hmac 0.12.1",
"image",
"ironrdp",
"ironrdp-blocking",
"ironrdp-bulk",
"open",
"portable-pty",
"rand 0.8.7",
@@ -3836,7 +3887,7 @@ checksum = "62941b68907ddf996ac20f0debf700c236ccc3d874637731a93c631129ca042f"
dependencies = [
"ecdsa",
"elliptic-curve",
"fiat-crypto",
"fiat-crypto 0.3.0",
"primefield",
"primeorder",
"sha2 0.11.0",
@@ -4002,11 +4053,11 @@ dependencies = [
"crypto-bigint",
"crypto-common 0.2.2",
"ctr 0.10.1",
"curve25519-dalek",
"curve25519-dalek 5.0.0-rc.1",
"des",
"digest 0.11.3",
"ecdsa",
"ed25519-dalek",
"ed25519-dalek 3.0.0-rc.1",
"hex",
"hmac 0.13.0",
"http",
@@ -4149,6 +4200,16 @@ dependencies = [
"spki 0.8.0",
]
[[package]]
name = "pkcs8"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
"der 0.7.10",
"spki 0.7.3",
]
[[package]]
name = "pkcs8"
version = "0.11.0"
@@ -4795,9 +4856,9 @@ dependencies = [
"crypto-primes",
"digest 0.11.3",
"pkcs1 0.8.0-rc.4",
"pkcs8",
"pkcs8 0.11.0",
"rand_core 0.10.1",
"signature",
"signature 3.0.0",
"spki 0.8.0",
"zeroize",
]
@@ -5421,6 +5482,15 @@ dependencies = [
"libc",
]
[[package]]
name = "signature"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"rand_core 0.6.4",
]
[[package]]
name = "signature"
version = "3.0.0"
@@ -5575,8 +5645,8 @@ dependencies = [
"crypto-bigint",
"crypto-mac",
"cryptoki",
"curve25519-dalek",
"ed25519-dalek",
"curve25519-dalek 5.0.0-rc.1",
"ed25519-dalek 3.0.0-rc.1",
"futures",
"getrandom 0.3.4",
"hmac 0.13.0",
@@ -7735,7 +7805,7 @@ version = "3.0.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eee64e8620caa64914d669b1f68f858aaff54e2d0f9ad3b30a613b58a1baa83e"
dependencies = [
"curve25519-dalek",
"curve25519-dalek 5.0.0-rc.1",
"rand_core 0.10.1",
"zeroize",
]