1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00

1568 Commits

Author SHA1 Message Date
Martin Prikryl
3b3f024794 Issue 2477 – Recursive SCP directory download allows local path traversal when replacing of invalid characters in filenames is disabled
https://winscp.net/tracker/2477
(cherry picked from commit f998f3e79f)

Source commit: e3039dfefb13303c6fb00db56f71c9fbb6685ef9
2026-10-24 00:44:55 +02:00
Martin Prikryl
53f8213112 Moving abnormal program termination handling to reduce interface
Source commit: 528cf0238d2af829fcc8481bd2452e1ba2ef7832
2026-10-16 11:08:10 +02:00
Eduardo Correia
8f67d22382 Give script rmdir's directory entries a full path
For rmdir, TScript::CreateFileList (fltDirectories) creates a bare
TRemoteFile with only its name and type: no directory list and no full
file name. TWebDAVFileSystem::DeleteFile takes the path from
File->FullFileName, and TRemoteFile::GetFullFileName then dereferences the
null Directory. With WinSCP 6.5.7 a script doing

  mkdir /work/gone
  rmdir /work/gone

over WebDAV fails with "Invalid access to memory" in
TRemoteFileList::GetFullDirectory (from TWebDAVFileSystem::FilePath,
TTerminal::DoDeleteFile, TScript::RmDirProc).

The entry now carries its absolute path, resolved as TTerminal::DoDeleteFile
resolves the same name. Protocols that use the file name (SFTP, SCP, FTP)
are unaffected; WebDAV now deletes the directory.
2026-10-13 14:08:14 +02:00
Eduardo Correia
1c4e584fe9 Swap GetParentProcessId's memset arguments back
memset takes the fill value before the size, so
memset(&ProcessEntry, sizeof(ProcessEntry), 0) zeroed nothing. It was
harmless, as Process32First fills the entry it reads, but the entry is now
cleared as intended.
2026-10-13 10:57:49 +02:00
Eduardo Correia
8a82e298f8 Close the handle FileGetSymLinkTargetSafe opens
FileGetSymLinkTargetSafe opens the link with CreateFile to read its reparse
point, but never closes the handle, so each call leaks one. DriveView calls
it for every symbolic link and junction it lists.
2026-10-13 10:52:56 +02:00
Martin Prikryl
b5f56bd2d4 Unused code
Inspired by PR #68

Source commit: 9c96e906501d8a22d305aa24ccf3162a287feb40
2026-10-13 10:47:52 +02:00
Martin Prikryl
05616dc742 Fixing stacktrace collection for abnormal program termination for 64-bit build
Source commit: d211d0525413d5b9a06ea25c788fa3d1377c68f3
2026-10-13 00:35:57 +02:00
Martin Prikryl
aaae9dcb51 Allowing to report abnormal program terminations + Handling all types of exceptions
Source commit: 469bb8038a53cf2510d92222e66351ba3c6c4a66
2026-10-10 00:36:12 +02:00
Martin Prikryl
4fc182de35 Forgotten declaration
Should have been removed in a6916d41

Source commit: 56826244476f1b2e80aa109510456f82d5615fc4
2026-10-08 00:35:55 +02:00
Martin Prikryl
ac781f63fe Update to Expat 2.9.0
Source commit: 2d2fc87baa17104082d3ddaab96216a3f342f60a
2026-10-07 11:03:29 +02:00
Martin Prikryl
0b3eca59ad Not scanning local directory symlinks pointing to network drives
Source commit: 19baa413392caabbb7afea6eb2b925cc98ca5076
2026-10-07 00:36:56 +02:00
Martin Prikryl
a6916d4101 Unused code obsoleted by 64050d10
Source commit: 92ea806f97f6683c5e5158c7236b49ce04aa620c
2026-10-03 08:42:27 +02:00
Martin Prikryl
64050d10c7 Removing no longer working OneDrive code
Source commit: 8a28dd98ba1cf2216dbd176900d23c8acf13685c
2026-09-25 00:36:53 +02:00
Martin Prikryl
e9b1860006 Link updates
Source commit: d947e04bdfdcaec955178b255bad454e9e9fa84a
2026-09-03 16:40:56 +02:00
Martin Prikryl
d47792f01c Issue 2455 – Some strings use incorrect translation in 64-bit version
https://winscp.net/tracker/2455

Some related refactoring:
Refactoring php release script includes
Reusing complete_translations in copy_complete_translations.php
Removing obsolete maketran.bat hack

Source commit: 07476ec822e4bd7b8b1c65ceb9783b6d92f20489
2026-09-01 12:53:54 +02:00
Martin Prikryl
11ce2859c0 Links update
Source commit: a99ad766ce70165b2aa13cc27bb88f8bd4a57893
2026-09-01 12:52:09 +02:00
Martin Prikryl
fa93a30522 Typo in logging
Source commit: bf9cbf2d4816647d3efc2890d0c533f17d6a9248
2026-08-25 10:14:29 +02:00
Martin Prikryl
7221bf08e3 Bug fix: 64-bit build did not identify its system to be 64-bit, what among other prevented it from identifying 64-bit COM registrations
Source commit: dd523846faab989b5bc6d69066da6cde6daa5dbb
2026-08-21 16:10:16 +02:00
Martin Prikryl
7458a02b23 Bug fix: Incorrect number validation
For example causes inability to add a location profile with name like "1M"

Source commit: 324abb63b5746414e990dd499fecb174c104545e
2026-08-02 13:17:50 +02:00
Martin Prikryl
a269e58826 Bug fix: x-name URL parameter was incorrectly decoded
Source commit: be5c17cde1f823e24389834032d88299366963e0
2026-06-26 01:02:43 +02:00
Martin Prikryl
39c95dc289 64-bit build is identified in version information
Source commit: a39a12d3ced2aa3d86b4a2c721df4444a0b03d57
2026-06-26 00:55:08 +02:00
Martin Prikryl
b66c08b30a Issue 2450 – Slashes in filenames can cause path traversal when invalid filename characters replacement is disabled
https://winscp.net/tracker/2450

Source commit: dbf555cdba84101ff9a4e2e491544515a5a95b54
2026-06-16 00:50:07 +02:00
Martin Prikryl
927e5f538a Issue 2449 – Heap over-read via crafted encrypted filename
https://winscp.net/tracker/2449

Source commit: b3d37ef6d446a33900eb2ba2e911d1134c1bd312
2026-06-13 01:04:26 +02:00
Martin Prikryl
dc56db76b1 Issue 2447 – Do not allow WebDAV redirects to other hosts by default + Issue 2448 – Do not allow WebDAV redirects to an unencrypted URL by default
https://winscp.net/tracker/2447
https://winscp.net/tracker/2448

Source commit: c777084ca5737c4283f256eb8cdf5c2fec5902af
2026-06-13 01:00:40 +02:00
Martin Prikryl
e500e57baa URI class
Source commit: baa68e01bcc829b3c66842aec637fe1b6febd48a
2026-06-10 16:13:11 +02:00
Martin Prikryl
1636165e08 Warning when pasting a session URL with unsafe settings
Source commit: a6a8ab80fab4384666d8f4835e7f5fefb91c4aa9
2026-06-10 16:10:38 +02:00
Martin Prikryl
3a2f4913c6 Merging DefaultsOnly and ProtocolDefined parameters
Source commit: 0d19541f3856ea463616237e3df15d99c721ad5d
2026-06-10 01:40:13 +02:00
Martin Prikryl
9bc1aa6d97 Issue 2444 – Avoid using SSH_FXF_EXCL together with SSH_FXF_TRUNC SFTP file opening flags
https://winscp.net/tracker/2444

Source commit: 3a34098adf3a7f0d6307d0d9dfc8b9c1087ef540
2026-06-10 01:35:48 +02:00
Martin Prikryl
cc81f2c3fc Updating code to PuTTY 0.84
Source commit: 71b0bdd5bb7ff22e916234fffeedf5db87668460
2026-05-30 01:07:44 +02:00
Martin Prikryl
5a8c4cdaea Using "username" and "hostname" as one word
Source commit: d86c0d6704a14fff6e3dca57868548df1f80cdd7
2026-05-29 01:15:26 +02:00
Martin Prikryl
c4e2c62171 Using variable as intended
Source commit: d953165a17474e276e54dcc5505ba28867275cf1
2026-05-29 00:51:38 +02:00
Martin Prikryl
941ce4e50e Issue 2440 – When opening session in PuTTY to a host for which WinSCP has multiple hostkeys cached, use the last key or the key that PuTTY has cached
https://winscp.net/tracker/2440

Source commit: 7a596711a8c49cb70687679fe72aec92159ddf6e
2026-05-19 00:59:46 +02:00
Martin Prikryl
327d867495 Issue 2437 – Configurable warning when opening large file in an internal editor
https://winscp.net/tracker/2437

Source commit: 74bdbd0d32c1416c24f384dfc02cc257cc68da14
2026-05-13 01:11:17 +02:00
Martin Prikryl
d725f98ec4 Issue 618 – Experimental 64-bit version of WinSCP
https://winscp.net/tracker/618

Source commit: 329fb51d696db6c1d37d5c5240ff253af0df941b
2026-05-11 18:39:51 +02:00
Martin Prikryl
a1589d1d56 Reading all system settings from 64-bit registry and explicitly using 32-bit registry for own settings for forward compatibility with future 64-bit build
https://winscp.net/tracker/618

Source commit: 752a9de02690c8b6444bea0eb333bab8a3051ee0
2026-04-25 11:43:53 +02:00
Martin Prikryl
17e9b96fac Refactoring
Source commit: 81ebf92fcad32efbe622f753af7c32b554b8fce1
2026-04-22 07:33:56 +02:00
Martin Prikryl
3806702eb1 Unused declaration (since 5cba2a56)
Source commit: b4ed3482bff116d4949419ebd52787afc7a777b7
2026-04-10 01:15:33 +02:00
Martin Prikryl
69ea522611 Reusing EncodeStrToBase64
Source commit: e31dd55472dcec1eae8fee52c3c6c19247fd2446
2026-04-10 01:12:59 +02:00
Martin Prikryl
d843cab082 Adding more startup sequence counter steps (Y, Q, V, Z, a) around F
(previous steps added in aee26917)

Source commit: b93e0f99f5dfce22f9bb9e1451ba11040ad05355
2026-04-04 01:24:19 +02:00
Martin Prikryl
bdc1aefa86 Types and casts safe in respect to pointer size for forward 64-bit compatibility (2nd after a2119a7e)
https://winscp.net/tracker/618

Source commit: c34c42432b77f29fc4e5f6824021c9d282a19525
2026-03-28 01:12:40 +01:00
Martin Prikryl
a5721fb0fc Updating neon 0.37.0 for WinSCP
Source commit: 5af847ade24159fe8823faea32bd61c91b9ffb49
2026-03-10 09:18:01 +01:00
Martin Prikryl
c03ad642b3 Issue 2427 – Prevent moving or copying a file or folder over ancestor folder with the same name
https://winscp.net/tracker/2427

Source commit: a65fa3e19024af7ee500f875a8ff4f3401c8052c
2026-03-10 01:11:25 +01:00
Martin Prikryl
843729d656 Issue 1682 – Support OpenSSH ssh-agent
https://winscp.net/tracker/1682

Source commit: ec5961549076ee19737c0950b44216967609c51f
2026-02-25 01:22:31 +01:00
Martin Prikryl
3a934d8dbb Issue 2422 – Failure when the first bit of an SFTP response is set
https://winscp.net/tracker/2422

Source commit: f30f884ce6423e7d93ece48b66aa0299e4bc4336
2026-02-13 01:18:00 +01:00
Martin Prikryl
afbaf8f9ea Shared BOM declaration
Source commit: cba15f59434ab48b2f30e93d304e8e3fcffd0463
2026-01-22 14:53:05 +01:00
Martin Prikryl
a2119a7eac Types and casts safe in respect to pointer size for forward 64-bit compatibility
Also GetWindowLongPtr and GWLP_USERDATA

https://winscp.net/tracker/618

Source commit: c85fdf15e50ce8a6f35b1c4d2a0125a0b9c4f1f0
2026-01-22 14:51:13 +01:00
Martin Prikryl
0429c6ea70 Dropping legacy AES layer
Source commit: 8afc72ce0dbc33b9c86e38aa23204bdb05d2cd5b
2026-01-16 01:10:29 +01:00
Martin Prikryl
efe94d6c08 Using actual types and functions instead of WinAPI and Unicode/Ansi macros
Source commit: b7fec4d069296b58bb43e7a4a97dd85d558212b7
2025-12-21 01:34:21 +01:00
Martin Prikryl
63a9eb579a Getting rid of MFC string loading code
Source commit: 3c7399548535aeb9ebb738e2fdde52431d0ba83f
2025-12-19 07:35:02 +01:00
Martin Prikryl
52a8fee38a Unused code
Source commit: 478c6eda7be13d1a261a34c8efe8fc1e300d4a19
2025-12-18 01:27:04 +01:00