simon-git: putty (master): putty.git
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Sat Jan 28 14:03:24 GMT 2017
TL;DR:
4548f22 Add error variable to loop condition
e882b49 Fix memory leak in ed25519_openssh_createkey
1bfde9d Fix memory leak in bignum_from_decimal
8afae2a Fix resource leak in rsakey_pubblob
29d805a Fix a memory leak in rsakey_pubblob
737cb2d Fix a memory leak in openssh_loadpub
1946745 Fix an integer overflow in get_ssh_string.
b73c1c1 Rework handling of asynchronous connect(2) errors on Unix.
769ce54 Report the right address in connection setup errors.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer: putty.git
Date: 2017-01-28 14:03:24
commit 4548f22b3811cbd59dd2f19fe80351bb12c9f3b8
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=4548f22b3811cbd59dd2f19fe80351bb12c9f3b8;hp=0249dd0a312f456452de834e3c7b9b94ec80fce4
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 18:51:03 2017 +0100
Add error variable to loop condition
In case of connection errors before and during the handshake,
net_select_result is retrying with the next address of the server. It
however was immediately going to the last address as it was not
checking the return value of try_connect for all intermediate
addresses.
unix/uxnet.c | 2 +-
windows/winnet.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
commit e882b49051ad731686a97f7317289ef4229ec76a
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e882b49051ad731686a97f7317289ef4229ec76a;hp=4548f22b3811cbd59dd2f19fe80351bb12c9f3b8
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 18:46:42 2017 +0100
Fix memory leak in ed25519_openssh_createkey
If q could not be read from the input blob, the allocated ec_key
structure was not freed.
sshecc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 1bfde9dc521a1b4f059e0a33e93a62a73716884f
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=1bfde9dc521a1b4f059e0a33e93a62a73716884f;hp=e882b49051ad731686a97f7317289ef4229ec76a
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 18:55:20 2017 +0100
Fix memory leak in bignum_from_decimal
Intermediate result values were not freed.
sshbn.c | 1 +
1 file changed, 1 insertion(+)
commit 8afae2a5f8104b7a898cec40c78687137c8afa18
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=8afae2a5f8104b7a898cec40c78687137c8afa18;hp=1bfde9dc521a1b4f059e0a33e93a62a73716884f
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 18:58:17 2017 +0100
Fix resource leak in rsakey_pubblob
The input file was not closed after successfully loading an SSH1 key.
sshpubk.c | 1 +
1 file changed, 1 insertion(+)
commit 29d805a49eab70cd6144a343605874985db072c2
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=29d805a49eab70cd6144a343605874985db072c2;hp=8afae2a5f8104b7a898cec40c78687137c8afa18
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 19:04:50 2017 +0100
Fix a memory leak in rsakey_pubblob
The line read from the input file was not freed after successfully
loading an SSH1 key.
sshpubk.c | 1 +
1 file changed, 1 insertion(+)
commit 737cb2d24ea61d49f258b2d5f596f43e5e91ba93
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=737cb2d24ea61d49f258b2d5f596f43e5e91ba93;hp=29d805a49eab70cd6144a343605874985db072c2
Author: Tim Kosse <tim.kosse at filezilla-project.org>
Date: Mon Jan 23 19:10:40 2017 +0100
Fix a memory leak in openssh_loadpub
The line read from the input file was not freed after successfully
loading an OpenSSH key.
sshpubk.c | 1 +
1 file changed, 1 insertion(+)
commit 19467455fe7840ab146f47136c88f61c87365e8c
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=19467455fe7840ab146f47136c88f61c87365e8c;hp=737cb2d24ea61d49f258b2d5f596f43e5e91ba93
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Jan 25 19:47:08 2017 +0000
Fix an integer overflow in get_ssh_string.
If the length field in the input data was so large that adding 4 to it
caused wraparound, the error check could fail to trigger. Fortunately,
this praticular get_ssh_string function is only used during private
key import from foreign file formats, so it won't be facing hostile
data.
misc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit b73c1c1deb9e0c6080ce27d70191a7242886bea3
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=b73c1c1deb9e0c6080ce27d70191a7242886bea3;hp=19467455fe7840ab146f47136c88f61c87365e8c
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Jan 24 22:30:44 2017 +0000
Rework handling of asynchronous connect(2) errors on Unix.
If connect() returns EINPROGRESS, then previously we would detect a
successful connection by the socket becoming selectable for writing,
and spot an unsuccessful one by an error code being returned on the
first attempt to read from it.
This isn't the right way to do it: the right way is to respond to the
initial writability notification by calling getsockopt(SO_ERROR) to
retrieve the error code (if any) from the completed connection
attempt. Doing it the old way had the problem that when the socket
became writable, we could sometimes already have written some of our
outgoing data to it before finding out that the connect attempt failed
- which meant we'd discard that data from the bufchain, and no longer
have it to send through a later successful connection to a different
candidate address.
unix/uxnet.c | 57 ++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 40 insertions(+), 17 deletions(-)
commit 769ce54734f0359068a72d71bca99da9d5d3555e
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=769ce54734f0359068a72d71bca99da9d5d3555e;hp=b73c1c1deb9e0c6080ce27d70191a7242886bea3
Author: Simon Tatham <anakin at pobox.com>
Date: Sat Jan 28 10:56:19 2017 +0000
Report the right address in connection setup errors.
backend_socket_log was generating the IP address in its error messages
by means of calling sk_getaddr(). But sk_getaddr only gets a SockAddr,
which may contain a whole list of candidate addresses; it doesn't also
get the information stored in the 'step' field of the Socket that was
actually trying to make the connection, which says _which_ of those
addresses we were in the middle of trying to connect to.
So now we construct a temporary SockAddr that points at the
appropriate one of the addresses, and use that for calls to plug_log
during connection setup.
unix/uxnet.c | 47 +++++++++++++++++++++++++++++++++++++++++++----
windows/winnet.c | 46 ++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 85 insertions(+), 8 deletions(-)
More information about the tartarus-commits
mailing list