Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

61 check-ins using file unix/gtkwin.c version 052836caa9

2011-01-14
13:57
Tweak to r7635: when changing between protocols in the configuration dialog and avoiding trashing a non-default port, don't treat a port of 0 as special; this was causing defaults to "freeze in" for sequences of clicks like SSH, Raw, Telnet. Arrange that a port of 0 (which in a backend indicates no default) is displayed as a blank in the port box, to make this less jarring. check-in: b987ab04d5 user: jacob tags: trunk
2011-01-05
06:01
It's a new year. check-in: 7c9ba49fb2 user: jacob tags: trunk
05:58
Remove references to the now-dead Mac OS 9 port. check-in: 5082b53ea1 user: jacob tags: trunk
2011-01-03
10:50
When iterating over all channels for a dead SSH connection, don't miss out those in the CHAN_SOCKDATA_DORMANT state (i.e., local-to-remote forwardings which the SSH server had not yet acknowledged). Marcel Kilgus has been running with the ssh_do_close() patch for nearly two years (*cough*) and reports that it has eliminated frequent 'unclean-close-crash' symptoms for him (due to the unclosed socket generating a pfd_closing() which accessed freed memory), although I've not reproduced that. The patch to ssh_free() is mine and not known to fix any symptoms. check-in: 170d3850d4 user: jacob tags: trunk
2010-12-29
18:06
Stop general_textout() from trying to slice up the input clipping rectangle into smaller ones: it doesn't work any more, since the new variable-pitch code can now call general_textout() with a larger clipping rectangle than the text it's meant to be displaying. Instead, general_textout() now uses the same semantics as the next loop up in do_text_internal(): the first piece of text it displays uses the opacity setting passed in, which blanks the entire clipping rectangle if necessary, and then subsequent overlays are non-opaque. And the same clipping rectangle is used throughout. check-in: 5d4503f498 user: simon tags: trunk
17:48
Rationalise the mechanism in do_text_internal for providing the 'lpDx' array to ExtTextOut: - move it inside the new big loop (this should fix a potential bug whereby the DBCS handling altered some elements of it but the loop did not actually step along it) - initialise it more sensibly - rename it to lpDx rather than IpDx, since as far as I can tell the latter name was derived from a misreading of the former in the Windows API docs. check-in: c25029f114 user: simon tags: trunk
16:38
Move some not-compiled-in debug code somewhere more useful. check-in: 314693f089 user: jacob tags: trunk
10:00
Fix segfault in general_textout with variable-pitch fonts: we can't pass null lpDx, because general_textout depends on it being filled in. Instead we null it out in the calls to subroutines _from_ general_textout. check-in: 26def99f43 user: simon tags: trunk
08:11
Support for using variable-pitch fonts for the terminal on Windows. Done in much the same way as it is in the GTK front end: the character cell width is determined using the font's digits (which seems to give generally not-too-offensive spacing in most cases, at the expense of Ms and Ws typically overhanging a bit into adjacent cells) and each character is centred in its cell. Overhangs never leave permanent droppings on the window, because the existing work done in r5003 handles them just fine even in this stressful scenario. There's a hacky new checkbox in the Appearance panel to make variable-pitch fonts appear in the font selector (they still don't by default, because I still think it's _usually_ not What You Want); the checkbox state is not actually stored as part of a saved session, but it should be automatically ticked when reloading a session that's got a variable pitch font selected. (I'm half-expecting a potential flurry of requests for this feature in the wake of http://xkcd.com/840/ , so I thought I'd pre-empt them :-) check-in: be5245e8df user: simon tags: trunk
07:35
Vyacheslav Andrejev points out a heap management goof in the new jump list code. Free the old value of the pointer variable we just overwrote, not the new one! check-in: 6a150405a0 user: simon tags: trunk
05:57
Thou shalt not suffer a misplaced apostrophe to live. check-in: 496ebff61c user: simon tags: trunk
2010-12-27
06:58
Fix resize handling when enabling and disabling full-screen mode. I'm not sure whether I broke this in the recent revamp or whether it was always broken, but: transitions in and out of full-screen mode work by first maximising or restoring the window, which triggers a WM_SIZE, whose handler then fiddles with the window style to disable or re-enable all the furniture, which in turn triggers a recursive WM_SIZE. The trouble is, after returning from the handler for the inner WM_SIZE, the rest of the outer handler runs, and its client area size is now out of date. So I've added a flag which is set when a resize is handled 'properly', so that after returning from the inner WM_SIZE handler the outer one knows not to try to redo badly work that's already been done well. check-in: b927047766 user: simon tags: trunk
2010-12-26
19:19
Add an option to disable SSH-2 banners. check-in: 70e16df16a user: jacob tags: trunk
18:24
Fix up svn:eol-style and svn:keywords on new files. check-in: f1c6bc77f0 user: jacob tags: trunk
17:23
Remove a couple of unused variables. check-in: b5a4e27069 user: jacob tags: trunk
14:00
Try to delete jump lists in "-cleanup". check-in: ef461c066a user: jacob tags: trunk
12:29
Optionally define PropVariantInit() locally to restore ability to build with MinGW after r9046, and munge the COMPTR() macro to remove a couple of warnings with my MinGW GCC (3.4.5). check-in: 20ed7b022e user: jacob tags: trunk
2010-12-23
16:19
Document the behaviour of Alt in the "hybrid" resizing mode alluded to in r9045. check-in: e99b02dc9e user: jacob tags: trunk
11:32
Support for Windows 7 jump lists (right-click on a program's taskbar icon, even if the program isn't running at the time, to be presented with an application-defined collection of helpful links). The current jump list is updated every time a saved session is loaded, and shows the last few launchable saved sessions (i.e. not those like Default Settings) that were loaded. Also, if Pageant or PuTTYgen or both is in the same directory as the PuTTY binary, the jump list will present links to launch those too. Based on a patch sent last year by Daniel B. Roy, though it's barely recognisable any more... check-in: 70edd9bb03 user: simon tags: trunk
11:16
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. check-in: 5b02dad7cc user: simon tags: trunk
09:44
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. check-in: a41a48a0c1 user: simon tags: trunk
09:22
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. check-in: 4f89367225 user: simon tags: trunk
2010-12-22
10:14
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. check-in: 5ed4cc5656 user: simon tags: trunk
09:49
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. check-in: d757855927 user: simon tags: trunk
2010-12-21
04:11
Protect against a (non-security-related) buffer overrun if PuTTY is installed somewhere with an exceptionally long pathname. check-in: 19b6a76d14 user: simon tags: trunk
2010-12-20
07:04
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. check-in: 5e16327a65 user: simon tags: trunk
2010-12-17
07:42
Add some more entries to svn:ignore to cope with stuff left by Visual Studio 10. (Not that I think I'm about to migrate, but I've been experimenting.) check-in: ee59e64e76 user: simon tags: trunk
2010-12-08
08:21
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. check-in: 37d03ad850 user: jacob tags: trunk
2010-12-06
18:21
More sensible (and also more idiomatic) bounds checking on esc_args. check-in: 5b87ace5cb user: simon tags: trunk
2010-11-06
12:22
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. check-in: 39acc46815 user: simon tags: trunk
2010-09-27
06:33
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. check-in: d73e4ddea8 user: jacob tags: trunk
2010-09-25
11:18
Add index terms for GSSAPI stuff. Mention GSSAPI in "use system username" section and other tweaks. check-in: 53dd162821 user: jacob tags: trunk
10:51
Since GSSAPI is now on its own panel, we may as well have a full set of keyboard shortcuts. check-in: 51759ca15c user: jacob tags: trunk
03:37
Oops: r9004 should have removed various pieces from the Makefile and header file setup too. check-in: 867a09535d user: simon tags: trunk
02:30
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. check-in: 2ea358a2d5 user: simon tags: trunk
02:16
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. check-in: e760173d54 user: simon tags: trunk
2010-09-15
13:50
Use the same key for both saving and loading the GSSAPI implementation preference list. Spotted by Daniel Kessler. check-in: cd8bd17f89 user: jacob tags: trunk
2010-09-13
03:45
Fix obvious braino in the Windows GSSAPI library display names. check-in: ef13b5d841 user: simon tags: trunk
03:29
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. check-in: ebb9344ea6 user: simon tags: trunk
2010-09-09
09:36
Missing close() causing resource leak when reading from /dev/random. check-in: 98904e2e61 user: simon tags: trunk
09:35
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. check-in: f6168ac02d user: simon tags: trunk
09:32
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. check-in: c0b06b69f5 user: simon tags: trunk
2010-08-10
13:45
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. check-in: b79dae693b user: simon tags: trunk
12:21
Mass correction of svn:keywords and svn:eol-style properties. check-in: fdf4280859 user: simon tags: trunk
2010-07-30
15:47
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(). check-in: 679b1b8e8b user: jacob tags: trunk
14:45
A comment typo fix I've had lying around for a while. check-in: 8d38bf5439 user: jacob tags: trunk
2010-07-04
17:53
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. check-in: d39e55d060 user: simon tags: trunk
2010-06-29
17:00
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. check-in: 4600d0085a user: ben tags: trunk
2010-05-30
17:50
Move '-w' in the #! line into 'use warnings;' in the Perl code, to simplify the #! line. check-in: c2d1be4c30 user: simon tags: trunk
2010-05-29
09:04
'perl -w' safety in mkfiles.pl. check-in: 4d70ed20bd user: simon tags: trunk
2010-05-22
09:07
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). check-in: 63cb12ddf5 user: simon tags: trunk
2010-05-19
13:22
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. check-in: d096e14ac5 user: simon tags: trunk
2010-04-26
12:28
When doing custom bob builds from a given SVN revision, include the date and time in the About box. check-in: e39ea5f37a user: simon tags: trunk
2010-04-24
02:14
Bah, missed out a tiny but build-breaking part of r8926. check-in: cbd85b4490 user: simon tags: trunk
2010-04-23
13:32
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.] check-in: 9c99f25c74 user: simon tags: trunk
2010-04-12
06:02
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. check-in: 3b36ea5a90 user: simon tags: trunk
05:55
Support importing of new-style OpenSSH private keys (encrypted by AES rather than 3DES). check-in: ef0fbcd9b8 user: simon tags: trunk
2010-03-25
19:54
Remove SECURITY_WIN32 (knock-on from r8910, which validates it somewhat). check-in: 137be05b3b user: jacob tags: trunk
13:41
r8909 broke the Visual Studio build. check-in: 0fc8f8c9ea user: jacob tags: trunk
2010-03-24
15:12
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. check-in: 2080e9716a user: jacob tags: trunk
2010-03-14
13:58
r8854/5 broke compilation with Gtk 1.2. Grow a hack to cope. check-in: 97d481dae0 user: jacob tags: trunk