1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
Commit Graph

3370 Commits

Author SHA1 Message Date
Simon Tatham
6cd24c839d The special treatment of Alt-resize (to cause resizing to affect the
font instead of the terminal size) should only be active in
RESIZE_EITHER mode - in RESIZE_TERM it is worse than useless.

[originally from svn r9045]
2010-12-23 17:16:19 +00:00
Simon Tatham
674f68f1ef Another fix to yesterday's window-resizing revamp: when restoring from
maximised state, we must be sure to disable the window offset used to
centre the terminal in cases where the window is non-negotiably the
wrong size (e.g. maximised). Hence we must call reset_window after our
terminal resize.

[originally from svn r9044]
2010-12-23 15:44:20 +00:00
Simon Tatham
05f22632eb More careful owner SID selection in the Pageant client code. This
should solve some of the SID-mismatch issues we've occasionally had
reported. Because it's a modification on the client side, it doesn't
affect the security of Pageant itself.

[originally from svn r9043]
2010-12-23 15:22:50 +00:00
Simon Tatham
17f6ca0360 Pay attention to the width and height provided in WM_SIZE even when
restoring a maximised window.

Failure to do this was noticeable in the following scenario (again
using Aero UI enhancements):
 1. resize window using topmost resize handle, and move pointer to top
    of screen which 'maximises' the window vertically
 2. now maximise the window properly using the maximise button in top
    right
 3. now restore. Notepad restores to its position before step 1,
    because Aero remembers that position for the purpose, but PuTTY
    thinks it knows better. Only now it doesn't any more.

[originally from svn r9041]
2010-12-22 16:14:11 +00:00
Simon Tatham
0b6407878a Reorganise handling of WM_SIZE to fix two generality problems.
Firstly, maximise and restore events were expected never to occur
during an interactive resize process (i.e. between WM_ENTERSIZEMOVE
and WM_EXITSIZEMOVE), but in fact Aero now allows this to happen if
you move the pointer to the top of the screen while dragging the
window.

Secondly, plain old WM_SIZE events were expected never to occur
_outside_ interactive resizes, but Aero permits that too (e.g.
Windows-left and Windows-right), and also third-party window
repositioning tools will send these.

[originally from svn r9040]
2010-12-22 15:49:33 +00:00
Simon Tatham
094459a7e6 Protect against a (non-security-related) buffer overrun if PuTTY is
installed somewhere with an exceptionally long pathname.

[originally from svn r9039]
2010-12-21 10:11:32 +00:00
Simon Tatham
d31d1f4bb5 Add an 'XLFLAGS' make variable to Makefile.vc, permitting user-
supplied extra link flags. This makes it reasonably convenient to
compile for Visual Studio debugging: just build using

  nmake /f Makefile.vc XFLAGS="/Zi /Od" XLFLAGS="/debug"

then load the resulting executable into Visual Studio (using 'Open
Project' rather than 'Open File') and the debugger should be able to
access the source.

[originally from svn r9038]
2010-12-20 13:04:34 +00:00
Jacob Nevins
3e8287839a Add more possible baud rates to the Unix serial backend. These are the
union of rates found in the termios.h of Linux 2.6.24 and "SunOS 5.6
Generic_105181-29 sun4u sparc SUNW,Ultra-4" machines. After a patch by
Thomas Bechtold.

[originally from svn r9028]
2010-12-08 14:21:35 +00:00
Simon Tatham
d0d647b965 More sensible (and also more idiomatic) bounds checking on esc_args.
[originally from svn r9027]
2010-12-07 00:21:42 +00:00
Simon Tatham
0fc1f78677 David Laight reports that sometimes reads on a serial port will
attempt to block, and hence return EAGAIN/EWOULDBLOCK, in spite of
the port having been reported readable by select(2). Don't treat
those errors as fatal.

[originally from svn r9020]
2010-11-06 17:22:38 +00:00
Jacob Nevins
942ac83108 Bah, r9008 caused an assertion failure on Windows due to a clash with the
shortcuts for the preference list buttons. That'll teach me to only test the
Gtk version.

[originally from svn r9010]
[r9008 == 5981b5e99d]
2010-09-27 11:33:40 +00:00
Jacob Nevins
196ca8b041 Add index terms for GSSAPI stuff. Mention GSSAPI in "use system username"
section and other tweaks.

[originally from svn r9009]
2010-09-25 16:18:02 +00:00
Jacob Nevins
5981b5e99d Since GSSAPI is now on its own panel, we may as well have a full set of
keyboard shortcuts.

[originally from svn r9008]
2010-09-25 15:51:14 +00:00
Simon Tatham
ffe40202a4 Oops: r9004 should have removed various pieces from the Makefile and
header file setup too.

[originally from svn r9005]
[r9004 == 7ac1f17aab]
2010-09-25 08:37:30 +00:00
Simon Tatham
7ac1f17aab Retire the old Mac Classic port directory! It's been unused for
ages, is increasingly irrelevant now that 'Mac' pretty much
universally means something running OS X, is probably bit-rotted
past usefulness already, and certainly will be after the next time
some major reengineering takes place.

[originally from svn r9004]
2010-09-25 07:30:08 +00:00
Simon Tatham
406e62f77b Cleanups of the GSSAPI support. On Windows, standard GSS libraries
are now loaded from standard locations (system32 for SSPI, the
registry-stored MIT KfW install location for KfW) rather than using
the risky default DLL search path; I've therefore also added an
option to manually specify a GSS DLL we haven't heard of (which
should in principle Just Work provided it supports proper GSS-API as
specified in the RFC). The same option exists on Unix too, because
it seemed like too useful an idea to reserve to Windows. In
addition, GSSAPI is now documented, and also (unfortunately) its GUI
configuration has been moved out into a sub-subpanel on the grounds
that it was too big to fit in Auth.

[originally from svn r9003]
2010-09-25 07:16:56 +00:00
Jacob Nevins
010f8c42c5 Use the same key for both saving and loading the GSSAPI implementation
preference list. Spotted by Daniel Kessler.

[originally from svn r8999]
2010-09-15 18:50:34 +00:00
Simon Tatham
7c1a126563 Fix obvious braino in the Windows GSSAPI library display names.
[originally from svn r8994]
2010-09-13 08:45:18 +00:00
Simon Tatham
9f274bed91 Create, and use for all loads of system DLLs, a wrapper function
called load_system32_dll() which constructs a full pathname for the
DLL using GetSystemDirectory.

The only DLL load not covered by this change is the one for
gssapi32.dll, because that one's not in the system32 directory.

[originally from svn r8993]
2010-09-13 08:29:45 +00:00
Simon Tatham
75f1d3ed94 Missing close() causing resource leak when reading from /dev/random.
[originally from svn r8991]
2010-09-09 14:36:46 +00:00
Simon Tatham
b7d2abe095 Remove redundant check for NULL in sshfwd_close(). The thing we're
testing against NULL has already been dereferenced by the time we
bother to test it, so it's a bit pointless - and in any case, no
null pointer can come to this function from any existing call site.

[originally from svn r8990]
2010-09-09 14:35:16 +00:00
Simon Tatham
7531c7d3d4 Cast incoming characters to unsigned char to avoid accidental sign
extension. Since ldisc_send() uses bit 8 as an internal flag, we
shouldn't be setting it except when we really want to.

[originally from svn r8989]
2010-09-09 14:32:25 +00:00
Simon Tatham
cda613000a When we disconnect because we have no supported authentication
methods left to try, it's nice to have the version of that message
going to the client contain the list of methods sent by the server.
Saves a user having to pull it out of an SSH packet log.

[originally from svn r8981]
2010-08-10 18:45:51 +00:00
Simon Tatham
1e0d8ee4fd Mass correction of svn:keywords and svn:eol-style properties.
[originally from svn r8980]
2010-08-10 17:21:25 +00:00
Jacob Nevins
8b294eb8c9 Cancelling a remote port forwarding that had been refused by the server caused
a double-free. Reported and diagnosed by Sven Schaepe.
Also fix a minor memory leak in ssh_free().

[originally from svn r8975]
2010-07-30 20:47:03 +00:00
Jacob Nevins
fb64d89902 A comment typo fix I've had lying around for a while.
[originally from svn r8974]
2010-07-30 19:45:40 +00:00
Simon Tatham
5ebdf2c8cb Patch from Alan Ning (somewhat polished by me): introduce a flag
called 'pending_close'. This deals with the situation in which we're
forwarding a port, have received and locally buffered some data from
the local endpoint but not yet been able to pass it down the SSH
connection due to window limitations, and then the local endpoint
closes its socket. In this situation what we've been doing until now
is to immediately send SSH2_MSG_CHANNEL_CLOSE, causing the data
still in our local buffer to be lost; now we instead set the new
flag, which will remind us to send SSH2_MSG_CHANNEL_CLOSE _after_ we
empty our bufchain.

Should fix at least one manifestation of 'portfwd-close', though I
don't know if it's the cause of all the reports we've ever seen.

[originally from svn r8971]
2010-07-04 22:53:53 +00:00
Ben Harris
edfc6a05ec Set WM_TRANSIENT_FOR appropriately on the "about" box so that fvwm doesn't
insist on finding a bit of spare screen to put it in.  Still pondering whether
it's sensible to do this with the "change settings" box as well.

[originally from svn r8970]
2010-06-29 22:00:43 +00:00
Simon Tatham
9f52d6c905 Move '-w' in the #! line into 'use warnings;' in the Perl code, to
simplify the #! line.

[originally from svn r8967]
2010-05-30 22:50:18 +00:00
Simon Tatham
5cd0fe8ed8 'perl -w' safety in mkfiles.pl.
[originally from svn r8958]
2010-05-29 14:04:09 +00:00
Simon Tatham
a6957f606b Restore the configure check for GTK 1, which I accidentally removed
as part of r8952 (the patch submitter had done it as a temporary
measure and I forgot to undo it before checkin).

[originally from svn r8956]
[r8952 == 99fffd6ed3]
2010-05-22 14:07:25 +00:00
Simon Tatham
99fffd6ed3 Patch from Alejandro Sedeno, somewhat modified by me, which
reorganises the GSSAPI support so that it handles alternative
implementations of the GSS-API. In particular, this means PuTTY can
now talk to MIT Kerberos for Windows instead of being limited to
SSPI. I don't know for sure whether further tweaking will be needed
(to the UI, most likely, or to automatic selection of credentials),
but testing reports suggest it's now at least worth committing to
trunk to get it more widely tested.

[originally from svn r8952]
2010-05-19 18:22:17 +00:00
Simon Tatham
f2b737cdd6 When doing custom bob builds from a given SVN revision, include the
date and time in the About box.

[originally from svn r8934]
2010-04-26 17:28:42 +00:00
Simon Tatham
ae5f3711f6 Bah, missed out a tiny but build-breaking part of r8926.
[originally from svn r8927]
[r8926 == d5aa23c116]
2010-04-24 07:14:29 +00:00
Simon Tatham
d5aa23c116 New SSH bug flag, for 'can't handle SSH2_MSG_IGNORE'. Another user
today reported an SSH2_MSG_UNIMPLEMENTED from a Cisco router which
looks as if it was triggered by SSH2_MSG_IGNORE, so I'm
experimentally putting this flag in. Currently must be manually
enabled, though if it turns out to solve the user's problem then
I'll probably add at least one version string...

[Edited commit message: actually, I also committed in error a piece
of experimental code as part of this checkin. Serve me right for not
running 'svn diff' first.]

[originally from svn r8926]
2010-04-23 18:32:15 +00:00
Simon Tatham
97ca111e29 Add comments on OpenSSH AES-encrypted key support, including one
mentioning that I haven't yet switched to _exporting_ OpenSSH keys
in the new style.

[originally from svn r8917]
2010-04-12 11:02:06 +00:00
Simon Tatham
108791e15c Support importing of new-style OpenSSH private keys (encrypted by
AES rather than 3DES).

[originally from svn r8916]
2010-04-12 10:55:31 +00:00
Jacob Nevins
332f233503 Remove SECURITY_WIN32 (knock-on from r8910, which validates it somewhat).
[originally from svn r8911]
[r8910 == a626074b26]
2010-03-26 00:54:05 +00:00
Jacob Nevins
a626074b26 r8909 broke the Visual Studio build.
[originally from svn r8910]
[r8909 == c18b150623]
2010-03-25 18:41:27 +00:00
Jacob Nevins
c18b150623 When looking for a local username on Windows, if we can get hold of the
NameUserPrincipal, use that; this avoids an issue with SSPI/GSSAPI where
the user logged in to the local machine with a different case of username
to the (case-sensitive) Kerberos username. Falls back to GetUserName as
before if that doesn't work (for machines not on a domain, and Win9x).
Based on a patch by SebastianUnger.

[originally from svn r8909]
2010-03-24 20:12:25 +00:00
Jacob Nevins
4a8c45f9f7 r8854/5 broke compilation with Gtk 1.2. Grow a hack to cope.
[originally from svn r8901]
[r8854 == 14247162f7]
[r8855 == 7e16457d14]
2010-03-14 18:58:20 +00:00
Jacob Nevins
9f4b758db2 I think r8738 broke IPv6 in MSVC Windows builds due to conflict with the
WspiapiGetAddrInfo wrapper for getaddrinfo() in MSVC. Split GET_WINDOWS_FUNCTION
into two variants, one with the old behaviour (bypassing the preprocessor) and
another with the new behaviour (for ANSI/Unicode, although it's not actually
used anywhere currently).

[originally from svn r8898]
[r8738 == 24b6168c1d]
2010-03-13 15:14:30 +00:00
Jacob Nevins
12b6a4e7dd Tweak description of dynamic port forwarding, and point people running into
'Out of space for port forwardings' at it.

[originally from svn r8897]
[this svn revision also touched putty-wishlist]
2010-03-13 14:47:14 +00:00
Simon Tatham
4d77b65677 Centralise generation of the control sequences for arrow keys into a
function in terminal.c, and replace the cloned-and-hacked handling
code in all our front ends with calls to that.

This was intended for code cleanliness, but a side effect is to make
the GTK arrow-key handling support disabling of application cursor
key mode in the Features panel. Previously that checkbox was
accidentally ignored, and nobody seems to have noticed before!

[originally from svn r8896]
2010-03-06 15:50:26 +00:00
Simon Tatham
c347755f87 Unix console utilities should send prompts to /dev/tty or failing
that stderr, not to stdout.

[originally from svn r8878]
2010-02-20 19:15:25 +00:00
Simon Tatham
c969ae2ea6 Colin Watson reports that linking with 'gold' doesn't work, because
PuTTY makes explicit use of libX11 without including -lX11 on the
link line. (GNU ld appears to pull in libX11 automatically because
it's needed for the dependencies of GTK, but gold expects that
dependency to be satisfied at run time via DT_NEEDED and hence
doesn't bother.) Hence, add explicit -lX11 to both Makefile.gtk and
the autoconf world.

[originally from svn r8876]
2010-02-20 19:06:30 +00:00
Simon Tatham
7198a148b5 Update to r8614: another -D_FORTIFY_SOURCE=2 fix.
[originally from svn r8875]
[r8614 == 4bddcc2b5d]
2010-02-20 11:21:25 +00:00
Simon Tatham
38714cecf3 Null out the socket pointers in X- and port-forwarding channels for
which we close the socket without destroying the channel. John
Peterson reports periodic crashes under heavy load which appear to
be fixed by this, though I don't know the exact circumstances
induced by that load.

[originally from svn r8871]
2010-02-17 19:02:04 +00:00
Jacob Nevins
7e16457d14 ...and the rest of r8854.
[originally from svn r8855]
[r8854 == 14247162f7]
2010-01-25 14:33:39 +00:00
Jacob Nevins
14247162f7 Our handling of timers in Gtk was truncating times on 64-bit systems; one
symptom was that the terminal window would not update until a focus-change
event. Spotted and patched by Max Kellermann.

[originally from svn r8854]
2010-01-23 12:25:31 +00:00