Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/maikebing/putty

PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham.
https://github.com/maikebing/putty

Switch to using SIDs in make_private_security_descriptor().

Daniel Meidlinger reports that at least one Windows machine which is
not obviously otherwise mis...

163b899df22d530e8fae7ee3344263a47f19ff43 authored about 11 years ago by Simon Tatham <[email protected]>
Remove an unused variable orphaned by r10092.

[originally from svn r10095]
[r10092 == d1e4f9c8fb826bb1761ae6dbbdfb566ebbe3ab61]

b7a703d38c939202f59682dfa41ed24a16f80da5 authored about 11 years ago by Simon Tatham <[email protected]>
SetEntriesInAcl returns its error code directly.

According to the MSDN documentation, that is. Why oh why? Everything
_else_ leaves it in GetLast...

9803b6acb036baea881abb9550c527bfca911cba authored about 11 years ago by Simon Tatham <[email protected]>
Pass the right number of entries to SetEntriesInAcl!

[originally from svn r10093]

df328536a9af0f8888103168a69ad68c2283fa31 authored about 11 years ago by Simon Tatham <[email protected]>
Include the numeric error code in win_strerror's output.

This will be useful if someone gets a mysterious Windows error on a
system configured into a lan...

d1e4f9c8fb826bb1761ae6dbbdfb566ebbe3ab61 authored about 11 years ago by Simon Tatham <[email protected]>
Fix up the Windows help context stuff for the new connection sharing controls.

[originally from svn r10088]

98eb785c9ba0a64ba7f7bb0c413bbb8a6929fe7a authored about 11 years ago by Jacob Nevins <[email protected]>
Gracefully degrade in the absence of CryptProtectMemory.

XP doesn't have it, and I think having connection sharing work without
its privacy enhancement i...

e43b6203ecaf90aec709c984991d0d65c47472d1 authored about 11 years ago by Simon Tatham <[email protected]>
Restore compatibility with older autoconfs.

The one in Ubuntu 10.04 doesn't know what AM_PROG_AR means, so
configure.ac was broken in r10053...

b12fbeffd6ed3e5847114384b4f7fa501c93ea96 authored about 11 years ago by Simon Tatham <[email protected]>
Fix an assortment of dupprintf() format string bugs.

I've enabled gcc's format-string checking on dupprintf, by declaring
it in misc.h to have the ap...

85d1e7608ebbb8c717a7e64f13beb936ad51e1fd authored about 11 years ago by Simon Tatham <[email protected]>
Implement connection sharing between instances of PuTTY.

The basic strategy is described at the top of the new source file
sshshare.c. In very brief: an ...

bb78583ad29084f16db994d66895917e1b20346e authored about 11 years ago by Simon Tatham <[email protected]>
Move the dynamic loading of advapi into its own module.

There's now a winsecur.[ch], which centralises helper functions using
the Windows security stuff...

f6f78f835543099d4b5e342ba34f91104862803b authored about 11 years ago by Simon Tatham <[email protected]>
Get rid of the error-return mechanism from x11_init.

Now that it doesn't actually make a network connection because that's
deferred until after the X...

e5a3e28eec308e1682d22292ffe4bf6fba884f40 authored about 11 years ago by Simon Tatham <[email protected]>
Refactor the construction of X protocol greetings.

I've moved it out into a separate function, preparatory to calling it
from somewhere completely ...

94e8f97d3f6e0701276cb4c17e7479c44d025766 authored about 11 years ago by Simon Tatham <[email protected]>
Prepare to have multiple X11 auth cookies valid at once.

Rather than the top-level component of X forwarding being an
X11Display structure which owns som...

cc4fbe33bcb76271b9b59d2edd124a962b026095 authored about 11 years ago by Simon Tatham <[email protected]>
Decouple X socket opening from x11_init().

Now we wait to open the socket to the X server until we've seen the
authorisation data. This pre...

01085358e43e662935598f588914867a731e963e authored about 11 years ago by Simon Tatham <[email protected]>
Add missing 'const' in the des_*_xdmauth functions.

[originally from svn r10077]

961503e449be3c456dc2f3af1cafd38de5efe519 authored about 11 years ago by Simon Tatham <[email protected]>
Add a missing null pointer check in s_write.

I don't know that this can ever be triggered in the current state of
the code, but when I start ...

b71b443c7c302b05342efef93c616c8b108ba7d2 authored about 11 years ago by Simon Tatham <[email protected]>
Remove sk_{get,set}_private_ptr completely!

It was only actually used in X11 and port forwarding, to find internal
state structures given on...

8be6fbaa09f1e0d73a533b5623970a872ec14cc6 authored about 11 years ago by Simon Tatham <[email protected]>
Refactor ssh.c's APIs to x11fwd.c and portfwd.c.

The most important change is that, where previously ssh.c held the
Socket pointer for each X11 a...

9cbcd176516db51658a55bfc8a37bd00938a70f0 authored about 11 years ago by Simon Tatham <[email protected]>
Reliably initialise uxnet's socket fd fields to -1.

This prevents embarrassing mess-ups involving getting back a Socket
which has mostly been memset...

489590cbd434facbb800e66a78a840f185ed7496 authored about 11 years ago by Simon Tatham <[email protected]>
Add support in uxnet.c for Unix-domain listening sockets.

There are two new functions: one to construct a SockAddr wrapping a
Unix socket pathname (which ...

6f6e9db932589470975ecc23261cd57eb9e710be authored about 11 years ago by Simon Tatham <[email protected]>
Complete rewrite of the packet log censoring code.

Because the upcoming connection sharing changes are going to involve
us emitting outgoing SSH pa...

518facfeca76d4c0cb14dbb3d7b2e1e9c9f64c3c authored about 11 years ago by Simon Tatham <[email protected]>
Clean up the 'data' vs 'body' pointers in struct Packet.

There's always been some confusion over exactly what it all means. I
haven't cleaned it up to th...

9f5d51a4ac3c10efbefa9b10facb5386e02a6aca authored about 11 years ago by Simon Tatham <[email protected]>
Add support for Windows named pipes.

This commit adds two new support modules, winnpc.c and winnps.c, which
deal respectively with be...

1b3edafcff9ddcd915a5725df2ac33cdc2a16b96 authored about 11 years ago by Simon Tatham <[email protected]>
Replace the hacky 'OSSocket' type with a closure.

The mechanism for constructing a new connection-type Socket when a
listening one receives an inc...

19fba3fe550785b2584264a59d3dccea81077451 authored about 11 years ago by Simon Tatham <[email protected]>
Implement freezing on Windows handle sockets.

That's been a FIXME in the code for ages, because it's difficult to
get winhandl.c to stop an al...

9093071faaddeb52428d6f1f3afccb1ac4d9ad48 authored about 11 years ago by Simon Tatham <[email protected]>
Factor out the HANDLE-to-Socket adapter from winproxy.c.

It's now kept in a separate module, where it can be reused
conveniently for other kinds of Windo...

98a6a3553cdfc1da0ed8d13a2b9f76863e42646f authored about 11 years ago by Simon Tatham <[email protected]>
Add a Socket implementation which just holds an error message.

This isn't yet used, but I plan to use it in situations where you have
to report errors by retur...

a6139c1ad37a2a854e4bd4fae8e8d59bf1a1e83d authored about 11 years ago by Simon Tatham <[email protected]>
Move SSH protocol enumerations out into ssh.h.

This permits packet type codes and other magic numbers to be accessed
from modules other than ss...

0bc76b825280ef59ce97a74fc9a8d6fa90a2fb61 authored about 11 years ago by Simon Tatham <[email protected]>
Move cipher settings into their own config panel.

This makes room in the main SSH panel for new options about connection
sharing, which I'm shortl...

a37d43069d1269dccb37d6bc99d0fd1c3f856070 authored about 11 years ago by Simon Tatham <[email protected]>
Clean up the semantics of the ssh_rportfwd structure.

It's now indexed by source hostname as well as source port (so that
separate requests for the se...

5ecb7d7f1dd6d66bab2814e9147f5a41896706e7 authored about 11 years ago by Simon Tatham <[email protected]>
Find ToUnicodeEx() at run time, not load time.

This restores PuTTY's backward compatibility to versions of Windows
too old to have ToUnicodeEx ...

c4833bae5a6fe9756a3789cd4d9a0ffa8b5a2996 authored about 11 years ago by Simon Tatham <[email protected]>
Replace GetQueueStatus with PeekMessage(PM_NOREMOVE).

A couple of users report that my recent reworking of the Windows
top-level message loop has led ...

94fd7bbf943366769038197fb856bd5037bdd597 authored about 11 years ago by Simon Tatham <[email protected]>
Fix build failures on Ubuntu 13.10.

Automake now insists that we run AM_PROG_AR if we're going to build a
library, and AM_PROG_CC_C_...

2d9cc79d53ec2973c6b8ce47a15561c0f3b9e59c authored about 11 years ago by Simon Tatham <[email protected]>
Avoid leaving unread Windows messages in the queue.

Jochen Erwied points out that once you've used PeekMessage to remove
_one_ message from the mess...

0e233b0d876765acf0b3a6d7f1dabd27b603f0d3 authored about 11 years ago by Simon Tatham <[email protected]>
random_ref() should always increment the reference count.

No current PuTTY utility was calling random_ref more than once per run
(ssh.c and the two main P...

ab2ddd17720529ddc79c353372a5cb15713354d5 authored over 11 years ago by Simon Tatham <[email protected]>
Don't pass WinSock error codes to strerror.

Martin Prikryl helpfully points out that when I revamped the socket
error mechanism using toplev...

2ca13fa995064ad2d97f42dd2e6abef04cccccd2 authored over 11 years ago by Simon Tatham <[email protected]>
Fix cut-and-paste errors in nonfatal() implementations.

Unix GUI programs should not say 'Fatal Error' in the message box
title, and Plink should not de...

7223973988ae6cff1888ef899a191d1885b7af43 authored over 11 years ago by Simon Tatham <[email protected]>
Oops! Remove a tight-looping diagnostic.

I temporarily applied it as a means of testing the revised event loops
in r10040, and accidental...

a3d069d2c1daea04ffcef26b546743abd76571a6 authored over 11 years ago by Simon Tatham <[email protected]>
Remove the timed part of the terminal paste mechanism.

In r10020 I carefully reimplemented using timing.c and callback.c the
same policy for large past...

b961cfaa8dbb41d971fe699a04f4838b8ea64d47 authored over 11 years ago by Simon Tatham <[email protected]>
Only run one toplevel callback per event loop iteration.

This change attempts to reinstate as a universal property something
which was sporadically true ...

5c4ce2fadf23bff6f38155df44b5d6040cf80d26 authored over 11 years ago by Simon Tatham <[email protected]>
Handle socket errors on half-open channels.

Anthony Ho reports that this can occur naturally in some situation
involving Windows 8 + IE 11 a...

043a762b5ff1d765cb6e69bb988a43e9ca79dd2f authored over 11 years ago by Simon Tatham <[email protected]>
Pass an error message through to sshfwd_unclean_close.

We have access to one at every call site, so there's really no reason
not to send it through to ...

8e7b0d0e4b75dbe5239dd7c4197cc60885196a6e authored over 11 years ago by Simon Tatham <[email protected]>
Fix SSH2_MSG_CHANNEL_EXTENDED_DATA in logparse.

It looks as if it's never worked at all: it had a spurious second
printf, it completely forgot t...

1472aa2a265dfbfe7225729862ea21b5fb2da22f authored over 11 years ago by Simon Tatham <[email protected]>
Make logparse handle completely bogus channel numbers.

Previously it would throw a bunch of Perl undefined-variable-usage
warnings; now it cleanly dete...

b6668d263f1382f4b8ded80b95a72d9cdb8e5194 authored over 11 years ago by Simon Tatham <[email protected]>
Fix free of an uninitialised pointer.

CHAN_AGENT channels need c->u.a.message to be either NULL or valid
dynamically allocated memory,...

7e515c411158d46b8f1c297d90a3d4bee3d8e45a authored over 11 years ago by Simon Tatham <[email protected]>
Fix handling of IPv6 dynamic forwardings.

During the Conf revamp, I changed the internal representation of
dynamic forwardings so that the...

597cbddbb9248ece77032bc80bf3e828064416fd authored over 11 years ago by Simon Tatham <[email protected]>
Don't run toplevel callbacks in modal dialogs.

Because some of them can call gtk_main_quit(), which completely
confuses the dialog box system.
...

6805bdcd6a58d681de0fb569c98efffd32bcae8c authored over 11 years ago by Simon Tatham <[email protected]>
Sensibly enforce non-interactive rekeying.

We now only present the full set of host key algorithms we can handle
in the first key exchange....

b8e668cd9b5702ff5c6a0178af5ab6dfed038d2e authored over 11 years ago by Simon Tatham <[email protected]>
Make calling term_nopaste() a cross-platform feature.

It was one of those things that went in ages ago on Windows and never
got replicated in the Unix...

4db5c2899f2b5c14d6bf72b39c4f71348ceabdd4 authored over 11 years ago by Simon Tatham <[email protected]>
Revamp Windows pending_netevent using toplevel callbacks.

This greatly simplifies the process of calling select_result() from
the top level after receivin...

9d5903b163908339d5284390fef00965519cf4f7 authored over 11 years ago by Simon Tatham <[email protected]>
Revamp net_pending_errors using toplevel callbacks.

Again, I've removed the special-purpose ad-hockery from the assorted
front end message loops tha...

d35a41f6ba2683956b6c0219824c4b8df8c8fbc4 authored over 11 years ago by Simon Tatham <[email protected]>
Revamp GTK's session close handling using toplevel callbacks.

Instead of having a special GTK idle function for dealing with session
closing, I now use the ne...

a44366585fbc11021c330a2f110d2b24f5d0c9cd authored over 11 years ago by Simon Tatham <[email protected]>
Revamp Windows's close_session() using toplevel callbacks.

Instead of setting a must_close_session flag and having special code
in the message loop to chec...

43c9748ac9c729d73a59286cb0cf0bcc0daed361 authored over 11 years ago by Simon Tatham <[email protected]>
Revamp the terminal paste mechanism using toplevel callbacks.

I've removed the ad-hoc front-end bodgery in the Windows and GTK ports
to arrange for term_paste...

7be9af74ec8b97f948d6b3d67ebaf1a97138da33 authored over 11 years ago by Simon Tatham <[email protected]>
Add a general way to request an immediate top-level callback.

This is a little like schedule_timer, in that the callback you provide
will be run from the top-...

75c79e318fffc6db076861856c1320fcea849bf2 authored over 11 years ago by Simon Tatham <[email protected]>
Sebastian Kuschel reports that pfd_closing can be called for a socket

error with pr->c NULL, in which case calling sshfwd_unclean_close on
it will dereference NULL and...

883641845fae43821e6362a234d531b22d01cdd9 authored over 11 years ago by Simon Tatham <[email protected]>
It turns out I was a little over-strict in my handling of EOF in

pscp.c when I did the big revamp in r9279: I assumed that in any SCP
connection we would be the f...

4ae1e260eac7ef0b9d4b444543c33d1467a7a81b authored over 11 years ago by Simon Tatham <[email protected]>
sbcsgen.pl uses 'select' to point Perl at a different default output

handle. Revert that when we hackily call it from mkfiles.pl, so that
if I have a need to insert d...

293af847b549d92c5b8b21325909a8ef709f0b10 authored over 11 years ago by Simon Tatham <[email protected]>
Revert the default for font bolding style back to using colours rather

than fonts. I broke this in r9559 when I added the option for 'both',
because the internal repres...

c0b6e0b9626baecab20ba6946dc26a75f187e2cf authored over 11 years ago by Simon Tatham <[email protected]>
Bump version number prior to tagging 0.63.

[originally from svn r9998]

95f581339df1402d50827ef9c2c701e31050f88c authored over 11 years ago by Simon Tatham <[email protected]>
One more defensive assert, just to be sure.

[originally from svn r9997]

ead9081318aa17a9b90e26061ca79946e7fa7ca9 authored over 11 years ago by Simon Tatham <[email protected]>
The bignum code has two representations of zero, since

bn_restore_invariant (and the many loops that duplicate it) leaves a
single zero word in a bignum...

a7cc906df0f728f7181aa750494cb986bf0b5176 authored over 11 years ago by Simon Tatham <[email protected]>
Add some more precautionary assertions, just in case anything wildly

out of range manages to get past other recent fixes.

[originally from svn r9995]

a7d13e284a2d8c324f9ad43cdaa1f24154224bbf authored over 11 years ago by Simon Tatham <[email protected]>
Belatedly update the copyright year to 2013.

[originally from svn r9993]
[this svn revision also touched putty-website]

0cc6fb8bfea07360afeac83ba67aceffb56499c8 authored over 11 years ago by Jacob Nevins <[email protected]>
Fix memory leaks in the new error return from modinv.

[originally from svn r9992]

97db2b6646c061c37420943793034bc82f42586a authored over 11 years ago by Simon Tatham <[email protected]>
Spot when we didn't successfully create an RSA public key from a

public blob, and return a proper error in that situation rather than a
struct with unhelpful NULL...

20aabc3059ad962eccca47166ccbe92ea64f0e02 authored over 11 years ago by Simon Tatham <[email protected]>
Make modinv able to return NULL if its inputs are not coprime, and

check for that return value everywhere it is used.

[originally from svn r9990]

cb1df53360b3402096f67d8dd317046c401e3eca authored over 11 years ago by Simon Tatham <[email protected]>
Avoid trying to take the modular inverse of zero in response to a

sufficiently silly DSA signature.

[originally from svn r9989]

9c054cf467e357fd9f61cc6217962c3f85635d7a authored over 11 years ago by Simon Tatham <[email protected]>
Another couple of memory leaks.

[originally from svn r9988]

bf9b9224d8325d63513efef547857983a6f145e5 authored over 11 years ago by Simon Tatham <[email protected]>
More consistently defend against division by zero with assertions. We

now check that all the modular functions (modpow, modinv, modmul,
bigdivmod) have nonzero moduli,...

5bcb8d6aac70ea3f8761e384de7b49cf4711b2df authored over 11 years ago by Simon Tatham <[email protected]>
Validate newly created DSA keys more carefully. Don't want a structure

half-filled with null pointers.

[originally from svn r9986]

76dc7c49a2e9efad5358f690da65b1d5b2297e66 authored over 11 years ago by Simon Tatham <[email protected]>
Remove some redundant null-pointer checks from code that must have

been written before I wrote a never-failing snew.

[originally from svn r9985]

4b1fcc8ba2fd0d347a6dd3afcb610d12d4731aa4 authored over 11 years ago by Simon Tatham <[email protected]>
Sanitise freeing of DSA keys.

[originally from svn r9984]

8041377799bd20ef86ea0da7981e7a0354176f8f authored over 11 years ago by Simon Tatham <[email protected]>
Reinstate a piece of code accidentally removed in r9214, where Windows

PuTTY does not trim a colon suffix off the hostname if it contains
_more than one_ colon. This al...

ba49faec3dc75ad1f2d3fa2865c15c628f71a7eb authored over 11 years ago by Simon Tatham <[email protected]>
Raise the default scrollback from 200 to 2000 lines. The former was

not so silly in the 1990s and before I implemented scrollback
compression, but it's been a ridicu...

fd266a3ceca7242839986b2deb003438fabbaf92 authored over 11 years ago by Simon Tatham <[email protected]>
Found a lot of places in sshbn.c where for-loops zeroing out memory

just before freeing it really ought to be smemclrs.

[originally from svn r9981]

55e8a268abe59ba31f621e67a4f08416fc40838d authored over 11 years ago by Simon Tatham <[email protected]>
Verify RSA keys created by rsa2_openssh_createkey.

[originally from svn r9980]

493a333078c7ccbf62f27aa257a3836b706930fe authored over 11 years ago by Simon Tatham <[email protected]>
Replace some 'sfree' calls of bignums with the proper 'freebn'.

[originally from svn r9979]

2e0723e9ef6ba1773fff567995315829f1b5aada authored over 11 years ago by Simon Tatham <[email protected]>
Add some missing bounds checks in signature verification routines.

[originally from svn r9978]

6184e9f95d3c952f9d9b99c3555a2cdb5d02fe05 authored over 11 years ago by Simon Tatham <[email protected]>
Fix an array-size bug in modmul, and add some tests for it.

[originally from svn r9977]

e01104f8998163ddb3f893e8c5d2d1691989e36e authored over 11 years ago by Simon Tatham <[email protected]>
Remove one of the frees added in r9916. stat_name points to somewhere

within the same string that destfname points to the start of, so
freeing it causes at best a doub...

a777103fd91fd056608831e532af4b94176eeed3 authored over 11 years ago by Simon Tatham <[email protected]>
Add an assortment of missing consts I've just noticed.

[originally from svn r9972]

808df44e54192d5d41b8ce988d064566027a53bc authored over 11 years ago by Simon Tatham <[email protected]>
Get rid of the variable 'advapi' in Pageant's WinMain, which was never

actually used for anything sensible and could have been freed while
containing nonsense at progra...

a5fd6ad272d08397244cd8060847c39439933dc4 authored over 11 years ago by Simon Tatham <[email protected]>
Back out r9964. I wasn't paying attention: every control is in the

byid tree but not all of them are in the byctrl tree.

[originally from svn r9970]
[r9964 == b3af...

6ede5c473a0485699e28c50d844b080050ee466b authored over 11 years ago by Simon Tatham <[email protected]>
Add a bob script to do Coverity scanning.

[originally from svn r9969]

3b278a95f886d5af862ad42b11080010d296cd99 authored over 11 years ago by Simon Tatham <[email protected]>
Fix a few more memory and resource leaks.

[originally from svn r9968]

eb19a35a3d52dedb5d8c43d74d33c5e10903b2e7 authored over 11 years ago by Simon Tatham <[email protected]>
Remove the variable 'bufused', which came over from winnet.c in

mistaken cut and paste and is just a bug.

[originally from svn r9967]

e5d3a353cc21bd27a103fb4fc147cfc223517c21 authored over 11 years ago by Simon Tatham <[email protected]>
Increase FONT_MAXNO from 0x2f to 0x40, to ensure the fonts[] array

includes every possible combination of the font bitfields, in
particular ATTR_OEM|ATTR_NARROW.

[...

5e2c794424f84ad1b48bb2069723e57813543aa7 authored over 11 years ago by Simon Tatham <[email protected]>
Correct an inequality sign causing the bounds check in Windows

palette_set() to be bogus. Fortunately, this isn't exploitable through
the terminal emulator, bec...

81a11efdafd5de1cd14efcbdc279cc2f404eb3d5 authored over 11 years ago by Simon Tatham <[email protected]>
Missing assert.

[originally from svn r9964]

b3afa10aa736600752fc215da2662d861f26b3be authored over 11 years ago by Simon Tatham <[email protected]>
Replace the type-checking COMPTR macro with my current idea of best

practice in type-check macros.

[originally from svn r9963]

0a26bd74e1800a748c24cb24c0bd77abd3fa17dc authored over 11 years ago by Simon Tatham <[email protected]>
Add missing casts in arguments to ctype functions.

[originally from svn r9962]

353b85be675535594fd5796ec91dfae866656879 authored over 11 years ago by Simon Tatham <[email protected]>
Rationalise null pointer checks in both decode_codepage functions, so

that decode_codepage(NULL) and decode_codepage("") both return the
default character set.

[origi...

61e555ec797b60041a39d3ce28a68ac1975252ef authored over 11 years ago by Simon Tatham <[email protected]>
Fix a double error handling goof in the winstore side of the jump list

support: transform_jumplist_registry should give its caller
dynamically allocated data if and onl...

f9f93584c29d9e327985d3c695b87f9b981de7be authored over 11 years ago by Simon Tatham <[email protected]>
Another big batch of memory leak fixes, again mostly on error paths.

The most interesting one is printer_add_enum, which I've modified to
take a char ** rather than a...

b99bec3b02d79c6902f50cfa616eebaee43536f6 authored over 11 years ago by Simon Tatham <[email protected]>
Add a missing null pointer check in one of the dialog box functions.

[originally from svn r9958]

4c61cb20a1e18297c0f5da403a88c0bd5872e840 authored over 11 years ago by Simon Tatham <[email protected]>
Report an error if deleting a random seed file fails.

(This has also required me to add a currently unused nonfatal() to
PuTTYgen, since although PuTT...

888804eef75af9d82d39d5ee6eb3d607ac635820 authored over 11 years ago by Simon Tatham <[email protected]>
Invent a win_strerror() function which behaves as much like Unix

strerror as I can arrange, wrapping up all the ugly FormatMessage
nonsense and caching previously...

54693d40798a5a5fc51e2aedf355a5aa1b3ee4cd authored over 11 years ago by Simon Tatham <[email protected]>
Rework keylist_update() to fix both a buffer-size limitation and a

memory leak.

[originally from svn r9955]

13667de106b2b21c46af3bc7d260fc09f08a554e authored over 11 years ago by Simon Tatham <[email protected]>