Skip to content
Snippets Groups Projects
  1. Jun 12, 2021
    • Jacob Nevins's avatar
      Fix changing colours in Change Settings. · ff53c671
      Jacob Nevins authored
      Since ca9cd983, changing colour config mid-session had no effect
      (until the palette was reset for some other reason). Now it does take
      effect immediately (provided that the palette has not been overridden by
      escape sequence -- this is new with ca9cd983).
      
      This changes the semantics of palette_reset(): the only important
      parameter when doing that is whether we keep escape sequence overrides
      -- there's no harm in re-fetching config and platform colours whether or
      not they've changed -- so that's what the parameter becomes (with a
      sense that doesn't require changing the call sites). The other part of
      this change is actually remembering to trigger this when the
      configuration is changed.
      
      (cherry picked from commit 1e726c94)
      ff53c671
    • Simon Tatham's avatar
      cmdgen: add missing null pointer check in --dump mode. · 27a04d96
      Simon Tatham authored
      A user pointed out that once we've identified the key algorithm from
      an apparent public-key blob, we call ssh_key_new_pub on the blob data
      and assume it will succeed. But there are plenty of ways it could
      still fail, and ssh_key_new_pub could return NULL.
      
      (cherry picked from commit 0c21eb44)
      27a04d96
    • Simon Tatham's avatar
      Close agent named-pipe handles when queries complete. · 11b89407
      Simon Tatham authored
      I was cleaning up the 'struct handle', but not the underlying HANDLE.
      As a result, any PuTTY process that makes a request to Pageant keeps
      the named pipe connection open until the end of the process's
      lifetime.
      
      (cherry picked from commit 6e69223d)
      11b89407
    • Simon Tatham's avatar
      Fix confusion between invalid Windows HANDLE values. · 6976bf60
      Simon Tatham authored
      I was checking a HANDLE against INVALID_HANDLE_VALUE to decide whether
      it should be closed. But ten lines further up, I was setting it
      manually to NULL to suppress the close. Oops.
      
      (cherry picked from commit 155d8121)
      6976bf60
    • Simon Tatham's avatar
      Reinstate missing bit counts in Windows Pageant GUI. · bf67ce44
      Simon Tatham authored
      An embarrassing braino of && for || produced a boolean expression that
      could never evaluate true.
      
      (cherry picked from commit 8245510a)
      bf67ce44
    • Simon Tatham's avatar
      Make TermWin's palette_get_overrides() take a Terminal *. · 329bdb34
      Simon Tatham authored
      Less than 12 hours after 0.75 went out of the door, a user pointed out
      that enabling the 'Use system colours' config option causes an
      immediate NULL-dereference crash. The reason is because a chain of
      calls from term_init() ends up calling back to the Windows
      implementation of the palette_get_overrides() method, which responds
      by trying to call functions on the static variable 'term' in window.c,
      which won't be initialised until term_init() has returned.
      
      Simple fix: palette_get_overrides() is now given a pointer to the
      Terminal that it should be updating, because it can't find it out any
      other way.
      
      (cherry picked from commit 571fa338)
      329bdb34
  2. May 02, 2021
    • Simon Tatham's avatar
    • Simon Tatham's avatar
      Docs updates. · f4d99d3f
      Simon Tatham authored
      Since the previous commit is causing an RC2 build of 0.75 anyway,
      let's take the opportunity to bring in updates to the docs from main,
      so that the release will have the most up-to-date version available.
      
      This is a combined cherry-pick of:
        f6142ba2
        7c1bea59
        f5d1d4ce
      f4d99d3f
    • Simon Tatham's avatar
      Fix accidental change to connshare pipe naming. · fdfad6ad
      Simon Tatham authored
      Jacob spots that on Windows, current PuTTY is not compatible with
      0.74, if one of them acts as a connection sharing upstream and the
      other as a downstream. That's because commit 1344d4d1
      accidentally changed the hash preimage in capi_obfuscate_string() so
      that it no longer had an SSH-like string length field at the front. So
      the two versions of PuTTY will expect the named pipe to have a
      different pathname, and so they won't be able to find each other.
      
      Interoperation between PuTTY versions is not the most important use
      case of connection sharing - surely the typical user will invoke it by
      activating the same session twice, or by using Duplicate Session. But
      it was never intended to deliberately _not_ work, so let's fix it
      before 0.75 goes out, so that at least the incompatible behaviour will
      only ever have appeared in development snapshots.
      fdfad6ad
  3. Apr 27, 2021
    • Simon Tatham's avatar
      Remove -Werror from all the default cflags. · f3ee4dbe
      Simon Tatham authored
      I've recently been coming round in general to the idea that -Werror is
      fine for developers and centralised binary builds, but has too many
      unanticipated failure modes in the field (with everyone's different
      versions of compilers, headers etc) to leave turned on for the 'just
      download and build' source tarball that's supposed to work everywhere.
      On main, I've already made the change to hide it behind a cmake
      'strict' setting.
      
      In particular, I've just done pre-release build tests with various
      versions of GTK, which reminded me that the GTK 2 installation on
      Ubuntu 20.04 fails to build at -Werror, because GTK's own header files
      have a warning-generating inconsistency. (glib/gtypes.h declares
      GTimeVal as deprecated, and then gtk/gtktooltips.h uses it anyway.)
      Clearly this is the kind of thing that ought not to break the build of
      a client application!
      f3ee4dbe
  4. Apr 25, 2021
    • Simon Tatham's avatar
      Fix named_pipe_agent_exists(), which just didn't work. · 17371e0d
      Simon Tatham authored
      GetFileType() takes a HANDLE, not a pathname. So passing it the
      pathname of the agent named pipe would never have worked at all.
      
      I hadn't noticed, because the only call to that function logical-ORs
      its return value with that of wm_copydata_agent_exists(), and the
      latter _does_ work.
      
      So if you're running true Pageant, which presents both IPC interfaces,
      then there's no problem. But if a Pageant-emulating system wanted to
      present only the named-pipe version, then we wouldn't have detected
      it. Now we should do.
      17371e0d
  5. Apr 24, 2021
    • Simon Tatham's avatar
      Windows: reinstate redraws during interactive scrollbar drag. · f69cf86a
      Simon Tatham authored
      I just discovered that they weren't happening, and the reason why is
      thoroughly annoying. Details are in the long comment I've added to the
      WM_VSCROLL handler in WndProc, but the short version is that when you
      interactively drag the terminal window's scrollbar, a subsidiary
      message loop is launched by DefWndProc, causing all our timer events
      to go missing until the user lets go of the scrollbar again. So we
      have to manually update the terminal window on scroll events, because
      the normal system is out of action.
      
      I assume this changed behaviour round about the big rework of terminal
      updating in February. Good job I spotted it just _before_ 0.75, and
      not just after!
      f69cf86a
    • Simon Tatham's avatar
      Add the psusan man page to the installed list. · 8c7685c6
      Simon Tatham authored
      Previously, 'make install' would install psusan itself in .../bin, but
      not install psusan.1 in .../share/man/man1. That's not a sensible
      combination. Either it's a test utility so we should install neither,
      or it's a fully supported official utility so we should install both.
      
      It's the latter. Man page is now installed, along with the binary.
      8c7685c6
  6. Apr 23, 2021
    • Simon Tatham's avatar
      Add WSL as another use case for psusan. · 1a017285
      Simon Tatham authored
      I've just spent the afternoon playing with it (rather belatedly - this
      is the first time I've tried it out since it was first announced!),
      and quickly decided that on the one hand it looks quite useful, but on
      the other hand, running it in a Windows console is not for me and I'd
      prefer to talk to it via PuTTY and psusan, for nicer copy-paste
      controls and the ability to forward Pageant into it.
      
      That turns out to be very easy and (I think) useful, so in it goes as
      another psusan use case.
      1a017285
  7. Apr 22, 2021
    • Jacob Nevins's avatar
      winpgnt: remove Help button when help unavailable. · b6d98b4f
      Jacob Nevins authored
      As we do in other similar situations. (The resulting passphrase dialog
      is annoyingly unsymmetric, but probably less annoying than a Help
      button which does nothing, and the situation shouldn't arise with our
      standard builds.)
      b6d98b4f
    • Simon Tatham's avatar
      winpgnt: add a help button to async passphrase prompt. · f5a962fb
      Simon Tatham authored
      Suggested by Jacob: if this dialog box is going to pop up
      _unexpectedly_ - perhaps when people have momentarily forgotten
      they're even running Pageant, or at least forgotten they added a key
      encrypted,, or maybe haven't found out yet that their IT installed it
      - then it could usefully come with a help button that pops up further
      explanation of what the dialog box means, and from which you can find
      your way to the rest of the help.
      f5a962fb
    • Simon Tatham's avatar
      winpgnt: say 'click to focus' in async passphrase prompt. · 16a59b59
      Simon Tatham authored
      I continue to believe that there's nothing I can (or should) do about
      the fact that on Windows, Pageant's async passphrase prompt dialog box
      doesn't automatically get the input focus when it pops up in response
      to a request received via invisible IPC.
      
      However, one thing I can do is add some text to the box that _warns_
      people about it, so that at least there's some kind of suggestion that
      you should get into the habit of clicking on the passphrase prompt
      before typing your passphrase into it.
      
      (I would be less concerned about all of this if it weren't for the
      fact that focus is surprisingly non-obvious on Windows 10, at least on
      the machine I have here. When the window doesn't have focus, the title
      bar has the same background colour, and only the text is fainter. And
      perhaps more confusingly, the cursor in the edit box still flashes!
      That fooled _me_ a few times to begin with.)
      16a59b59
  8. Apr 21, 2021
  9. Apr 20, 2021
  10. Apr 19, 2021
  11. Apr 17, 2021
    • Simon Tatham's avatar
      Docs: add some explanation of psusan in the main manual. · a0869fab
      Simon Tatham authored
      If we're publishing the server, then we should say something about the
      fact that this option exists to talk to it. Also, if the option exists
      on the front page at all in a released version of PuTTY, it behooves
      us to document it slightly more usefully than just a handwave at 'this
      is specialist and experimental'.
      a0869fab
    • Simon Tatham's avatar
      Promote psusan to a properly installed tool. · 5bc3540f
      Simon Tatham authored
      I've been using and testing it for a while now, in various
      circumstances, and I think it's reasonably robust.
      
      And if a release version of PuTTY is going to have an option on the
      front page that basically exists to talk to psusan, it seems silly to
      then turn round and say "But you can't have psusan itself, so nerrr".
      So let's not.
      
      Also, Jacob points out that the sooner we encourage distro maintainers
      to package psusan, the sooner it will (eventually) percolate through
      into all the places where it would be convenient for it to already
      exist, like the insides of containers.
      5bc3540f
    • Simon Tatham's avatar
      Docs: historical (ish) text about Telnet and Rlogin. · ab7bfdda
      Simon Tatham authored
      SUPDUP came, at my insistence, with a history section in the docs
      for people who hadn't heard of it. It seems only fair that the
      other obsolete network protocols (or, at least, the ones we *wish*
      were obsolete :-) should have the same kind of treatment.
      ab7bfdda
    • Simon Tatham's avatar
      Docs: reorder protocol sections in using.but. · 026194ea
      Simon Tatham authored
      Moved the Raw protocol to below Serial, so that the first two
      sections are SSH and Serial, matching the (now very emphatic)
      priority order in the config UI.
      
      Similarly, reordered the bullet points in \k{config-hostname}.
      026194ea
    • Simon Tatham's avatar
      e56fe0be
    • Simon Tatham's avatar
      Docs: don't mention the connection "radio buttons". · 7d7d14d7
      Simon Tatham authored
      They're not any more!
      7d7d14d7
    • Simon Tatham's avatar
      Docs: de-emphasise VMS. · f14ac180
      Simon Tatham authored
      Just noticed that intro.but still gives it equal weight with Unix,
      which probably wasn't even true in 2001, and certainly isn't true now.
      f14ac180
  12. Apr 11, 2021
    • Simon Tatham's avatar
      Fill in holes in the documentation. · a21056ac
      Simon Tatham authored
      I've filled in some text about prime generation methods and Ed448,
      which were all the things marked as 'review before release'.
      
      While I'm at it, also filled in a reasonable enough DSA key length
      recommendation, because the FIXME comment in that section was within
      sight of one of the places I was editing. FIPS 186-4 seemed to think
      that RSA and DSA had comparable relationships between the key length
      and practical security level, so I see no reason not to use the same
      recommendation for both key types.
      a21056ac
    • Simon Tatham's avatar
      Fix a mismatch of GetWindowLong with GWLP_*. · 7153218b
      Simon Tatham authored
      In commit bb59f273 I changed a use of the constant GWL_ID to
      GWLP_ID, on the grounds that the former caused a build failure under
      winelib. But the GWLP constants are supposed to be used with
      GetWindowLongPtr, and I was still calling GetWindowLong.
      
      (Benign, since the two sets of constants are the same. But that is the
      only case in the whole code base where I'd made that error, and since
      it was only introduced a couple of days ago, there's no possibility of
      a longstanding historical reason for carefully not touching it!)
      7153218b
  13. Apr 10, 2021
Loading