From 2fbc122e0e3c1528c15f7064b01a61701f1d4da9 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Mon, 12 Sep 2022 12:55:47 +0100 Subject: [PATCH 1/3] windows/window.c: make random_save_seed call unconditional. The conditionalisation of that call on 'protocol == PROT_SSH' has been around since the beginning of our git history. But in those days, random_save_seed() was unconditional _internally_ - it would always create and write to the seed file regardless of whether the random pool had even been initialised, let alone used. Now random_save_seed() has its own internal condition which prevents it doing anything if the random subsystem was never started up in the first place. So it's better to call it unconditionally from cleanup_exit, and then it'll be able to do its thing whenever needed, without having to second-guess based on the top-level protocol. (In fact, that's what all the other implementations of cleanup_exit() have done all along. On Unix, and in Windows console apps, we do call random_save_seed() unconditionally, and expect it to uncomplainingly do nothing if there's nothing to do.) (cherry picked from commit 260aad5fcac562702a799d945d48ad8b0e26d29c) --- windows/window.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/window.c b/windows/window.c index 6a17d54b..70548a5d 100644 --- a/windows/window.c +++ b/windows/window.c @@ -1018,9 +1018,7 @@ void cleanup_exit(int code) DeleteObject(pal); sk_cleanup(); - if (conf_get_int(conf, CONF_protocol) == PROT_SSH) { - random_save_seed(); - } + random_save_seed(); shutdown_help(); /* Clean up COM. */ From c1a4eda9f6ec5301eeb83def1ecb453f659fa7d3 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 13 Sep 2022 20:53:03 +0100 Subject: [PATCH 2/3] GSSAPI kex: don't call dh_is_gex() on ECDH algorithms. dh_is_gex() expects to find a 'struct dh_extra' in the 'extra' field of the kex_alg you pass in, and won't look kindly on finding an instance of some totally different structure type. We were being careful about that everywhere in the GSSAPI kex code except for the final free step. --- ssh/kex2-client.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssh/kex2-client.c b/ssh/kex2-client.c index b890c023..26159bb5 100644 --- a/ssh/kex2-client.c +++ b/ssh/kex2-client.c @@ -559,10 +559,10 @@ void ssh2kex_coroutine(struct ssh2_transport_state *s, bool *aborted) dh_cleanup(s->dh_ctx); s->dh_ctx = NULL; mp_free(s->f); s->f = NULL; - } - if (dh_is_gex(s->kex_alg)) { - mp_free(s->g); s->g = NULL; - mp_free(s->p); s->p = NULL; + if (dh_is_gex(s->kex_alg)) { + mp_free(s->g); s->g = NULL; + mp_free(s->p); s->p = NULL; + } } #endif } else { From e1b73f0d54b878ee6c02d2eb76028732a8510dc3 Mon Sep 17 00:00:00 2001 From: Jacob Nevins Date: Tue, 13 Sep 2022 23:51:26 +0100 Subject: [PATCH 3/3] New FAQ entry about the Microsoft Store. --- doc/faq.but | 16 ++++++++++++++++ doc/index.but | 3 +++ 2 files changed, 19 insertions(+) diff --git a/doc/faq.but b/doc/faq.but index f3642fd5..9a8deea2 100644 --- a/doc/faq.but +++ b/doc/faq.but @@ -1152,6 +1152,22 @@ running, but it doesn't stop the process's memory as a whole from being swapped completely out to disk when the process is long-term inactive. And Pageant spends most of its time inactive. +\S{faq-windowsstore}{Question} Is the version of PuTTY in the +\i{Microsoft Store} legit? + +The free-of-charge \q{PuTTY} application at +\W{https://apps.microsoft.com/store/detail/putty/XPFNZKSKLBP7RJ}{this link} +is published and maintained by us. The copy there is the latest +release, usually updated within a few days of us publishing it on our +own website. + +There have been other copies of PuTTY on the store, some looking quite +similar, and some charging money. Those were uploaded by other people, +and we can't guarantee anything about them. + +The first version we published to the Microsoft Store was 0.76 (some +time after its initial release on our website). + \H{faq-admin} Administrative questions \S{faq-putty-org}{Question} Is \cw{putty.org} your website? diff --git a/doc/index.but b/doc/index.but index cc043d5a..28303ee2 100644 --- a/doc/index.but +++ b/doc/index.but @@ -947,3 +947,6 @@ saved sessions from \IM{certificate}{certificates} SSH certificates \IM{certificate}{certificates} OpenSSH certificates \IM{certificate}{certificates} CA (certification authority) + +\IM{Microsoft Store} Microsoft Store +\IM{Microsoft Store} Windows Store