Martin Prikryl
0a91a3e4e3
Merge branch 'thirdparty'
...
# Conflicts:
# source/putty/ssh/connection2.c
Source commit: 4413da04be2a27098da2488953e6e86301be66cd
2026-08-26 16:07:38 +02:00
Martin Prikryl
b3732d9b70
PuTTY 0.85
...
Source commit: c9fb0e3663609e43f0fc37e1e96e9f2177809f15
2026-08-26 16:06:53 +02:00
Martin Prikryl
9d2ab68f0f
Merge branch 'thirdparty_hotfix' into thirdparty
...
Source commit: 29cd13353b04e1e8333d6a4e5308ca72111e9029
2026-08-26 16:04:08 +02:00
Martin Prikryl
6f632e38a9
Merge branch 'hotfix'
...
Source commit: bb4d452ea03a6de19b972c809f65a4318955e559
2026-08-26 16:03:42 +02:00
Martin Prikryl
fec8b0d00d
Merge branch 'thirdparty_hotfix' into hotfix
...
# Conflicts:
# source/putty/ssh/connection2.c
Source commit: b4afce76ac7977473f5f01de24061065eecc66f2
2026-08-26 00:46:09 +02:00
Simon Tatham
f4157b1cd4
Reject remote max packet size 0 when opening channels.
...
This case led to a tight loop in ssh2_try_send, which would calculate
the largest size of data packet it could send on a channel as the min
of various things including the max packet size; find, of course, that
the largest size was therefore 0; send no data; and loop round again
to keep trying.
There's nothing you can sensibly do about that by the time you get to
ssh2_try_send, so a better response is to reject the connection at
open time.
When the connection is initiated from the far end (i.e. we receive
CHANNEL_OPEN) we can do this relatively nondestructively, by rejecting
just that one channel-open request. When it's initiated from our end,
and the CHANNEL_OPEN_CONFIRMATION we got back contained the zero
maxpkt, there's no similar protocol method for rejecting the
confirmation, so instead we disconnect the whole SSH session.
(That seems harsh, but I think it's reasonable, because one reason for
aborting an SSH connection is that you genuinely don't _know_ what
your client can legally do next – and this is exactly that situation.)
Signed-off-by: Martin Prikryl <martin@winscp.net >
Source commit: 5b7de97f5fcb3f4b957e9585ea15018831c8b547
2026-08-26 00:44:50 +02:00
Simon Tatham
28b3293ac1
Fix buffer overflow in ETM mode packet decode.
...
The space allocated for the decrypted packet was 4 bytes too small,
because we end up reading (s->packetlen + s->maclen) bytes into it,
but we allocated the buffer based on the largest possible size of
(s->len + s->maclen). The two differ by 4. So if a packet is within 4
bytes of the largest size accepted by the check of s->len against
OUR_V2_PACKETLIMIT, then it overruns the buffer allocated for the
following BPP_READ.
Thanks to Yukihiro Nakamura for spotting this.
Signed-off-by: Martin Prikryl <martin@winscp.net >
Source commit: dc1ea030899bc7ec7ed4388cfc01757c41816f0c
2026-08-26 00:44:30 +02:00
Martin Prikryl
56c81a5f36
Resolving some warnings in PuTTY code
...
Source commit: c458b24e9476c08302942093c7e621a3f97e7833
2026-06-04 00:45:48 +02:00
Martin Prikryl
95ac37750b
rsakex-double-free and ecdsa-remotely-triggerable-assertion fixes from PuTTY 0.84
...
Source commit: 5fae646d5c4e8b820fe0a423f2758c33259f0b4e
2026-06-02 01:14:19 +02:00
Martin Prikryl
8d257cc59a
Merge branch 'hotfix'
...
Source commit: b7cb499bdc47a8b5e54277bec7ea5d7f28b0ec89
2026-06-02 01:10:36 +02:00
Martin Prikryl
ce7699c617
Merge branch 'thirdparty_hotfix' into hotfix
...
Source commit: 2b8a2d2bab169ca7ba5b36f1face51a4de3cecb4
2026-06-02 01:07:40 +02:00
Martin Prikryl
94af53fd2d
rsakex-double-free and ecdsa-remotely-triggerable-assertion fixes from PuTTY 0.84
...
(cherry picked from commit 5fae646d5c4e8b820fe0a423f2758c33259f0b4e)
Source commit: 309869e4787025160d0b47f342a26e18e8605d89
2026-06-02 01:04:36 +02:00
Martin Prikryl
4d24fdb881
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# source/putty/callback.c
# source/putty/putty.h
# source/putty/ssh/ssh.c
# source/putty/windows/network.c
# source/putty/windows/platform.h
Source commit: e4552f4c309c1e34fce155ecad0bfaf22cd8bcee
2026-05-30 01:04:55 +02:00
Martin Prikryl
fbc97830e9
PuTTY 0.84
...
Source commit: 74c128b1c46223d1ff41e055c5fadd44bf73dbe4
2026-05-30 01:01:18 +02: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
115871701b
There are no "missing braces" warnings afte f670f4eb + Solving some unused variables
...
Source commit: 06241c0127599e00d4ad3c60aa01a2cbff38ee74
2026-02-12 01:05:55 +01:00
Martin Prikryl
f670f4ebb1
Resetting differences to official PuTTY that are no longer needed
...
Most, if not all, were for compatibility with the classic C++Builder compiler (declarations in the middle of code + inline structure initializers)
Source commit: a9f38c3a07777e538c3c6e0fbdd38e9d68327dfa
2025-12-06 01:29:35 +01:00
Martin Prikryl
6963f08ffd
Enabling all warnings in all projects and only selectively disabling those that are needed
...
with aim to eventually update the code to need as little warnings disabled as needed.
Some code updates (and even fixes) to avoid warning done already
Source commit: 5c45a6f56c52e7b0c5034ed9980cd65259a7372b
2025-12-04 01:16:16 +01:00
Martin Prikryl
9fc373f067
Issue 2379 – Failure when canceling reconnection on authentication banner, when the connection was already closed by the server
...
https://winscp.net/tracker/2379
(cherry picked from commit ba8994ca1f )
Source commit: eb15ad855f5235f1daa6b336fbed510117fc6443
2025-06-03 17:48:43 +02:00
Martin Prikryl
ba8994ca1f
Issue 2379 – Failure when canceling reconnection on authentication banner, when the connection was already closed by the server
...
https://winscp.net/tracker/2379
Source commit: 6797a6eb7c41fff0ae0fe6b2ae8d7be0a1db52c6
2025-06-03 16:44:44 +02:00
Martin Prikryl
3f4e41fee0
Clang imposed changes that should be noop and have no effect on classic compiler
...
Mostly:
– incorrectly identified uninitialized variables
– explicit static global variables
– const, sign and down casts and safety
– typename use
– semicolon after function implementation
– unused variables, fields, arguments and macros
– field initialization order
– exact include filename case
– redundant in code macros already defined at project level
(cherry picked from commit f7f00c631e )
Source commit: 90ad9390853aba308abe73cf02e0281238c53c87
2025-03-13 16:46:26 +01:00
Martin Prikryl
f7f00c631e
Clang imposed changes that should be noop and have no effect on classic compiler
...
Mostly:
– incorrectly identified uninitialized variables
– explicit static global variables
– const, sign and down casts and safety
– typename use
– semicolon after function implementation
– unused variables, fields, arguments and macros
– field initialization order
– exact include filename case
– redundant in code macros already defined at project level
Source commit: 5c1338d95bd275082288dd1e773a033df6e379cd
2025-03-13 16:39:24 +01:00
Martin Prikryl
85bddc2c5c
Merge branch 'thirdparty_dev' into dev
...
Source commit: 4d92009391120144deb49f4cae233abae481b71f
2025-01-05 00:58:01 +01:00
Martin Prikryl
8459471bad
PuTTY Pre-release 0.83:2025-01-03.1e45199
...
Source commit: 1675133a3ca89ff21576d3c554b83fcb225d73c3
2025-01-05 00:55:14 +01:00
Martin Prikryl
25df2381f1
Updating code to PuTTY 0.82
...
Source commit: ddf59fef3b75f5efff8bf82fecdd61ef49970fd2
2024-12-05 16:51:39 +01:00
Martin Prikryl
a561deeac4
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# source/putty/crypto/ecc-ssh.c
# source/putty/crypto/rsa.c
# source/putty/errsock.c
# source/putty/network.h
# source/putty/proxy/proxy.c
# source/putty/putty.h
# source/putty/ssh/mainchan.c
# source/putty/ssh/portfwd.c
# source/putty/ssh/ssh.c
# source/putty/sshpubk.c
# source/putty/utils/conf.c
# source/putty/utils/tempseat.c
# source/putty/windows/gss.c
# source/putty/windows/handle-socket.c
# source/putty/windows/network.c
# source/putty/windows/platform.h
# source/putty/windows/storage.c
# source/putty/windows/unicode.c
# source/putty/windows/utils/filename.c
Source commit: bf2485b229a3855694c35c518f72482b97ca47c5
2024-12-05 14:59:26 +01:00
Martin Prikryl
6c12cb97d7
PuTTY 0.82 + Giving up on trying to not-link PuTTY unicode implementation
...
Source commit: 510b30d0a40b051c780d3d3e69b3b57cf4e25a05
2024-12-05 14:57:30 +01:00
Martin Prikryl
a6adfa0ad3
Updating to PuTTY 0.80 – mostly Issue 2246 – Mitigations for SSH protocol "Terrapin" vulnerability
...
https://winscp.net/tracker/2246
Source commit: f7b34a47547af9b0b4bd32fb66d6d278c8b6b342
2023-12-20 13:48:13 +01:00
Martin Prikryl
a65773c31c
Merge branch 'thirdparty_dev' into dev
...
Source commit: 70dad0f1516d5eba6d33587b07ece8d3aac4babc
2023-12-20 13:43:16 +01:00
Martin Prikryl
1d7d01ad70
PuTTY 0.80
...
Source commit: 04e78706e91713a0bbe3be3d75fc7882165d974a
2023-12-20 13:39:56 +01:00
Martin Prikryl
db87bc1810
Bug 2145: Support for OpenSSH certificates for host verification
...
https://winscp.net/tracker/2145
Source commit: 9dda484bf38f9a72b61a2c3d8e7dd8892ee96c2b
2023-09-08 08:59:22 +02:00
Martin Prikryl
1eefd46566
Merge branch 'thirdparty_dev' into dev
...
Source commit: aaac937e6a438623d3956fbdcc4e97a595fa6783
2023-08-25 01:19:12 +02:00
Martin Prikryl
82ed0ab10a
PuTTY Pre-release 0.79:2023-08-24.27f0140
...
Source commit: c3526b15b5ac41f430909d228fe11655dcf46282
2023-08-25 01:16:32 +02:00
Martin Prikryl
1b7a4989a1
Updating PuTTY 0.79 (prerelease) code to C++ Builder compiler + Bumping PuTTY copyright year
...
Source commit: dfd52625cc98f4fbe28c9199c8c2bdcd180da377
2023-05-22 17:24:17 +02:00
Martin Prikryl
281f907939
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# source/putty/ssh/connection2.c
# source/putty/ssh/ppl.h
# source/putty/ssh/transport2.c
# source/putty/ssh/userauth2-client.c
Source commit: 84a1449cae5af55c4a6671f80e82114fc0adc781
2023-05-22 17:22:05 +02:00
Martin Prikryl
f7bc002428
PuTTY Pre-release 0.79:2023-05-22.56b16bd
...
Source commit: b8854c20303cf71066ac3421b037f7bd737c21d6
2023-05-22 17:19:40 +02:00
Martin Prikryl
fd87a21d8e
Merge branch 'thirdparty'
...
Source commit: b9b21a03857190846c383f21387a297f6f5eaf25
2023-05-20 01:22:23 +02:00
Martin Prikryl
2d5f6de479
Bug 2188 – Work around key algorithm naming change in OpenSSH 7.7 and older
...
https://winscp.net/tracker/2188
Cherry picking from Pre-release of 0.79:
- userauth: fix replacement of embedded with detached RSA cert
https://git.tartarus.org/?p=simon/putty.git;a=commit;h=cfe6fd95a77202a77ba552437ab0ead5ebd11316
- Work around key algorithm naming change in OpenSSH <= 7.7
https://git.tartarus.org/?p=simon/putty.git;a=commit;h=d66335663406b70391f6e08c941c7cee2f07eea4
Source commit: 47f1eec6558a7ef2bf40602ff0786b2a4e7cbe6b
2023-05-20 01:19:30 +02:00
Martin Prikryl
e8229fd72a
Bug 2162: Failure when doing agent forwarding with Pageant 0.74 or older
...
https://winscp.net/tracker/2162
Source commit: cd13e0ed61e2e4a0cd3da1b203cbead9326db40d
2023-02-01 01:34:34 +01:00
Martin Prikryl
29b6be6f0a
Support for NTRU Prime post-quantum key exchange
...
https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/ntru.html
Source commit: 33d0e948a119c5cbdc61f22b30b0d5d2ed1b96d2
2023-01-07 00:54:35 +01:00
Martin Prikryl
48106ee1b6
Bug 1873: Support for OpenSSH certificates for user authentication
...
https://winscp.net/tracker/1873
Source commit: fc13a226065092a102456a27242ac69151cb1d15
2022-12-14 01:00:41 +01:00
Martin Prikryl
2507a7df83
Disabling code for OpenSSH certificate host verification
...
Source commit: 6bcc426ae8a347c2142cf004e1c082b8b0e01603
2022-12-10 00:54:02 +01:00
Martin Prikryl
68a4dd04b7
Reimplementing host key algorithm display for /info in a way that does not need reorganizing PuTTY code to show them in the preference order
...
Side effect of this is that Ed448 is put correctly on the top
Source commit: da86732db01cdd2c7bd228ec7596097590af1ce9
2022-12-08 00:52:21 +01:00
Martin Prikryl
ec808580ce
Minimal changes needed to compile against PuTTY 0.78 and pass tests
...
Source commit: c717fcdc41b9be7bb3a88e06fc49d45eaf0cfa44
2022-12-03 00:57:29 +01:00
Martin Prikryl
53826431d2
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# source/putty/crypto/aes-select.c
# source/putty/crypto/aes-sw.c
# source/putty/crypto/aes.h
# source/putty/crypto/arcfour.c
# source/putty/crypto/blowfish.c
# source/putty/crypto/chacha20-poly1305.c
# source/putty/crypto/des.c
# source/putty/crypto/dsa.c
# source/putty/crypto/ecc-ssh.c
# source/putty/crypto/hmac.c
# source/putty/crypto/rsa.c
# source/putty/ssh.h
# source/putty/ssh/common_p.c
# source/putty/ssh/kex2-client.c
# source/putty/ssh/ppl.h
# source/putty/ssh/ssh.c
# source/putty/ssh/transport2.c
# source/putty/ssh/transport2.h
# source/putty/ssh/userauth2-client.c
# source/putty/sshpubk.c
# source/putty/utils/tempseat.c
# source/putty/windows/agent-client.c
# source/putty/windows/gss.c
# source/putty/windows/network.c
# source/putty/windows/storage.c
Source commit: ca42122a58b67cfc547e8691e9f22c1ed8356cd6
2022-12-03 00:56:05 +01:00
Martin Prikryl
a4b3791c54
PuTTY 0.78
...
Source commit: 4eba336bd557f717ffaa78be798684bf09042571
2022-12-03 00:54:15 +01:00
Martin Prikryl
2d148fc649
Merge branch 'thirdparty'
...
# Conflicts:
# source/putty/proxy/proxy.c
# source/putty/windows/network.c
Source commit: f6c4f9badfec50adaf6ea0861446b536685ee49e
2022-06-03 00:59:04 +02:00
Martin Prikryl
0006b066e5
PuTTY 0.77
...
Source commit: 4460e89e63d91ff048baf208874bcb2ead90b835
2022-06-03 00:57:22 +02:00
Martin Prikryl
894538cb5c
Failure when aborting connection
...
Source commit: 5c2b9a17120d52563e0f4aea5fa3dd2771140fad
2022-02-24 01:13:40 +01:00
Martin Prikryl
6c8cf9ae8d
Updating code to PuTTY 0.77
...
Source commit: da47a0c8a6347ce05fd02167b644c05cef61dc28
2022-02-07 09:57:39 +01:00