mirror of
https://github.com/ergosteur/ssh-protocol-handler-win.git
synced 2026-10-28 16:10:36 -04:00
Raw Win32 rewrite (windows-rs + a native dialog resource, no GUI framework) of SshHandler, aimed at eliminating .NET's ~150MB self-contained payload and CLR startup cost for what's just a click-triggered dialog + process launch. Release build cross-compiles to a ~250KB binary. Same behavior as the WinForms version: registry setup mode, target parsing/editing dialog, legacy-algorithm option, launches ssh.exe via ShellExecuteW. Verified functionally under Wine (registry-setup prompt and the connect dialog both render and round-trip correctly); real Windows cold-start numbers still need to be gathered on actual hardware. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GYCT2RpUjFfBfp6CD4rREw
461 lines
12 KiB
TOML
461 lines
12 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 4
|
|
|
|
[[package]]
|
|
name = "cc"
|
|
version = "1.4.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80"
|
|
dependencies = [
|
|
"find-msvc-tools",
|
|
"shlex",
|
|
]
|
|
|
|
[[package]]
|
|
name = "cfg-if"
|
|
version = "1.0.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
|
|
[[package]]
|
|
name = "embed-resource"
|
|
version = "2.5.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d506610004cfc74a6f5ee7e8c632b355de5eca1f03ee5e5e0ec11b77d4eb3d61"
|
|
dependencies = [
|
|
"cc",
|
|
"memchr",
|
|
"rustc_version",
|
|
"toml",
|
|
"vswhom",
|
|
"winreg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "equivalent"
|
|
version = "1.0.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
|
|
|
[[package]]
|
|
name = "find-msvc-tools"
|
|
version = "0.1.12"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d"
|
|
|
|
[[package]]
|
|
name = "hashbrown"
|
|
version = "0.17.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
|
|
|
|
[[package]]
|
|
name = "indexmap"
|
|
version = "2.14.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
|
|
dependencies = [
|
|
"equivalent",
|
|
"hashbrown",
|
|
]
|
|
|
|
[[package]]
|
|
name = "libc"
|
|
version = "0.2.189"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
|
|
|
|
[[package]]
|
|
name = "memchr"
|
|
version = "2.8.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.107"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.47"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rustc_version"
|
|
version = "0.4.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
|
|
dependencies = [
|
|
"semver",
|
|
]
|
|
|
|
[[package]]
|
|
name = "semver"
|
|
version = "1.0.28"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
|
|
|
|
[[package]]
|
|
name = "serde"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
|
|
dependencies = [
|
|
"serde_core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_core"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
|
|
dependencies = [
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_derive"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn 3.0.5",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_spanned"
|
|
version = "0.6.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
|
|
dependencies = [
|
|
"serde",
|
|
]
|
|
|
|
[[package]]
|
|
name = "shlex"
|
|
version = "2.0.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
|
|
|
|
[[package]]
|
|
name = "ssh-handler"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"embed-resource",
|
|
"windows",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "2.0.119"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "3.0.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "toml"
|
|
version = "0.8.23"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
|
|
dependencies = [
|
|
"serde",
|
|
"serde_spanned",
|
|
"toml_datetime",
|
|
"toml_edit",
|
|
]
|
|
|
|
[[package]]
|
|
name = "toml_datetime"
|
|
version = "0.6.11"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
|
|
dependencies = [
|
|
"serde",
|
|
]
|
|
|
|
[[package]]
|
|
name = "toml_edit"
|
|
version = "0.22.27"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
|
|
dependencies = [
|
|
"indexmap",
|
|
"serde",
|
|
"serde_spanned",
|
|
"toml_datetime",
|
|
"toml_write",
|
|
"winnow",
|
|
]
|
|
|
|
[[package]]
|
|
name = "toml_write"
|
|
version = "0.1.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
|
|
|
|
[[package]]
|
|
name = "unicode-ident"
|
|
version = "1.0.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
|
|
[[package]]
|
|
name = "vswhom"
|
|
version = "0.1.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
|
|
dependencies = [
|
|
"libc",
|
|
"vswhom-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "vswhom-sys"
|
|
version = "0.1.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150"
|
|
dependencies = [
|
|
"cc",
|
|
"libc",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows"
|
|
version = "0.58.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
|
|
dependencies = [
|
|
"windows-core",
|
|
"windows-targets 0.52.6",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-core"
|
|
version = "0.58.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
|
|
dependencies = [
|
|
"windows-implement",
|
|
"windows-interface",
|
|
"windows-result",
|
|
"windows-strings",
|
|
"windows-targets 0.52.6",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-implement"
|
|
version = "0.58.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn 2.0.119",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-interface"
|
|
version = "0.58.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn 2.0.119",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-result"
|
|
version = "0.2.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
|
|
dependencies = [
|
|
"windows-targets 0.52.6",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-strings"
|
|
version = "0.1.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
|
|
dependencies = [
|
|
"windows-result",
|
|
"windows-targets 0.52.6",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-sys"
|
|
version = "0.48.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
|
dependencies = [
|
|
"windows-targets 0.48.5",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-targets"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
|
dependencies = [
|
|
"windows_aarch64_gnullvm 0.48.5",
|
|
"windows_aarch64_msvc 0.48.5",
|
|
"windows_i686_gnu 0.48.5",
|
|
"windows_i686_msvc 0.48.5",
|
|
"windows_x86_64_gnu 0.48.5",
|
|
"windows_x86_64_gnullvm 0.48.5",
|
|
"windows_x86_64_msvc 0.48.5",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-targets"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
|
dependencies = [
|
|
"windows_aarch64_gnullvm 0.52.6",
|
|
"windows_aarch64_msvc 0.52.6",
|
|
"windows_i686_gnu 0.52.6",
|
|
"windows_i686_gnullvm",
|
|
"windows_i686_msvc 0.52.6",
|
|
"windows_x86_64_gnu 0.52.6",
|
|
"windows_x86_64_gnullvm 0.52.6",
|
|
"windows_x86_64_msvc 0.52.6",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows_aarch64_gnullvm"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
|
|
|
[[package]]
|
|
name = "windows_aarch64_gnullvm"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
|
|
[[package]]
|
|
name = "windows_aarch64_msvc"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
|
|
|
[[package]]
|
|
name = "windows_aarch64_msvc"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
|
|
[[package]]
|
|
name = "windows_i686_gnu"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
|
|
|
[[package]]
|
|
name = "windows_i686_gnu"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
|
|
[[package]]
|
|
name = "windows_i686_gnullvm"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
|
|
[[package]]
|
|
name = "windows_i686_msvc"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
|
|
|
[[package]]
|
|
name = "windows_i686_msvc"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_gnu"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_gnu"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_gnullvm"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_gnullvm"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_msvc"
|
|
version = "0.48.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
|
|
|
[[package]]
|
|
name = "windows_x86_64_msvc"
|
|
version = "0.52.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
|
|
[[package]]
|
|
name = "winnow"
|
|
version = "0.7.15"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
|
|
dependencies = [
|
|
"memchr",
|
|
]
|
|
|
|
[[package]]
|
|
name = "winreg"
|
|
version = "0.52.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
|
|
dependencies = [
|
|
"cfg-if",
|
|
"windows-sys",
|
|
]
|