Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
1400 check-ins using file sftp.h version 6276419f3d
|
2014-01-09
| ||
| 04:22 | Added putty-cac current state Leaf check-in: 62dff76227 user: rkeene tags: putty-cac | |
|
2011-12-10
| ||
| 12:08 | Tag 0.62 release. Leaf check-in: 9c44b3c894 user: simon tags: putty-0.62, putty-branch-0.61 | |
|
2011-07-27
| ||
| 13:43 | Fix bug in which the SSH-only tools (pscp, psftp) did not honour a nonstandard port number when loading a saved session. Occurs because those tools include be_none.c which defines no entries in backends[] at all, as a result of which settings.c doesn't recognise the word 'ssh' in the saved session's protocol field and instead sets the protocol to something idiotic - which _then_ means that when pscp.c forces the protocol to PROT_SSH, it also resets the port number as it would when overriding a saved session specifying a protocol other than SSH. The immediate solution is to define a new be_ssh.c citing only ssh_backend, and include that in the SSH-only tools. However, I wonder if a better approach (perhaps when I redesign session loading and saving) would be not to be so clever, and just have all the tools contain a complete list of known protocol names for purposes of understanding what's in the saved session data, and complain if you try to use one they don't know how to actually speak. check-in: 1cf8e55201 user: simon tags: trunk | |
|
2011-07-23
| ||
| 06:58 | Add a convenience option to mkfiles.pl for Unix users. If you run 'mkfiles.pl -u', it will do its normal processing, then run mkauto.sh to regenerate configure and Makefile.in, then run configure in the Unix subdirectory to regenerate unix/Makefile. So it's a handy one-stop shop for going all the way from a modified Recipe to the end-product Unix makefile, if you're adding source files during development. check-in: 1159f161a7 user: simon tags: trunk | |
| 06:40 | Add a wrapper script called 'configure' at the top level, which runs the real configure script from the unix subdirectory, but with cwd unchanged so that you end up doing a VPATH build in the top-level source directory. Should, ideally, placate the people who expect 'configure' to be at the top level, while still letting _me_ keep all the Unix-specific stuff in the Unix subdirectory. check-in: 305236bf03 user: simon tags: trunk | |
| 06:36 | Rename --with-gtk-version to --with-gtk, and support its negation --without-gtk as a means of manually overriding the makefile into one building the command-line tools only (as it would if GTK were not found at all at configure time). check-in: fa0c434b75 user: simon tags: trunk | |
| 06:33 | Switch to using automake for the Unix autoconfigured build. mkfiles.pl no longer generates a Makefile.in, but instead generates a Makefile.am on which mkauto.sh runs automake. This means that the autoconfigured makefile now does build-time dependency tracking (a standard feature of automake-generated makefiles), and is generally more like what Unix people will expect. Some of the old-style make command-line settings (VER=-DRELEASE=foo, XFLAGS=-DDEBUG) will still work; the COMPAT settings are better done by autoconfiguration, and my habitual 'XFLAGS="-g -O0"' for an easily debuggable build will actually not work any more because CFLAGS is specified _after_ XFLAGS, so I should instead write 'make CFLAGS=-O0' (-g is the default in automake, removed at 'make install' time). The new makefile will automatically degrade into one that builds the command-line tools only, in the case where GTK could not be found. In principle, therefore, it should be an adequate replacement for _both_ the static Unix makefiles, Makefile.gtk and Makefile.ux. I haven't actually retired those in this commit, but I'm pretty tempted. check-in: 5673b9ee77 user: simon tags: trunk | |
|
2011-07-20
| ||
| 12:50 | When we check for libX11 in the autoconf script, add it to $GTK_LIBS on success rather than to $LIBS, because it's only used in the GUI tools and we don't want the command-line tools linked against it. check-in: 0aef2c9483 user: simon tags: trunk | |
| 10:55 | Fix 'Duplicate Session' on Windows, broken during the config revamp. (In an embarrassingly silly way, too. No end of difficult stuff about Conf serialisation done with great care and working just fine, and then a trivial goof in using sscanf lets the whole lot down.) check-in: 552d854ddf user: simon tags: trunk | |
|
2011-07-19
| ||
| 12:06 | Trivial fix for assertion failure introduced by the config revamp. Spotted by Leonid Lisovskiy. check-in: a1d007c7bc user: simon tags: trunk | |
|
2011-07-18
| ||
| 13:09 | Minor amendment to r9226: don't log GSSAPI failure in the Event Log twice. (Once in the GSSAPI code, once at the top of the main auth loop. Removed the latter.) check-in: 5ba3965a58 user: simon tags: trunk | |
| 13:04 | Reinstate a missing invocation of the FONT_QUALITY macro which I accidentally removed in the big config revamp. check-in: 73aacdd5a1 user: simon tags: trunk | |
|
2011-07-17
| ||
| 17:35 | Fix a typo in r9214 that plausibly explains a resizing weirdness I had with today's snapshot on Windows. check-in: 322ea75b60 user: jacob tags: trunk | |
| 17:17 | Fix version reporting in Unix builds versioned by a specific svn revision ('Custom build r1234'). Those builds were passing '-DSVN_REV=r1234' to version.c, instead of -DSVN_REV=1234 as they should have, leading to silly run-time version messages such as 'plink: Custom build rr9226'. To chop the r off the front of the revision string passed in, I've used a bashism in mkunxarc.sh. I think this is an acceptable extra dependency. check-in: 1826aa4c4e user: simon tags: trunk | |
| 17:17 | --with-gtk-version option to configure, so you can explicitly tell it which GTK version you want to build with if both are installed. Based on a patch by Malcolm Smith, though somewhat modified. check-in: 1f7aaf36c7 user: simon tags: trunk | |
| 17:17 | Support for re-running autoconf in the absence of the autoconf macro files which provide auto-detection of GTK 1 and GTK 2. This makes it easier for casual PuTTY developers to rerun autoconf for their own purposes without having to install obscure extra packages. Obviously the resulting configure script will not know how to detect whichever version of GTK they didn't have support for, so it won't be product- quality by my standards, but it should be good enough that they can prepare unrelated patches to send to us. check-in: 442e9e10a6 user: simon tags: trunk | |
|
2011-07-16
| ||
| 11:25 | Create new branch named "putty-branch-0.61" check-in: 427ffbcf9d user: simon tags: putty-branch-0.61 | |
| 07:06 | Reorganise the logging and display of messages about SSH authentication. We should now produce an Event Log entry for every authentication attempted and every authentication failure; meanwhile, messages in the PuTTY window will not be generated for the failure of auth types unless we also announced in the PuTTY window that we were trying them. (GSSAPI was getting the latter wrong, leading to spurious 'Access denied' for many users of 0.61.) check-in: 068c9141e5 user: simon tags: trunk | |
| 07:03 | Mostly cosmetic change: don't claim to have found an SSH agent if SSH_AUTH_SOCK is defined to the empty string. (Because a common way to 'unset' it is to run commands like 'SSH_AUTH_SOCK= putty -load thing'.) check-in: 1e2bd9c501 user: simon tags: trunk | |
| 06:13 | Fix display of VT100 vertically-offset horizontal line characters (o,p,r,s). They are displayed in Windows by actually writing the centred one (q) with a vertical offset, in case fonts don't have the offset versions; this requires terminal.c to separate those characters into distinct calls to do_text(). Unfortunately, it was only breaking up a text-drawing call _before_ one of those characters, not after one. Spotted by Robert de Bath. check-in: 212f345d1f user: simon tags: trunk | |
|
2011-07-15
| ||
| 13:30 | Don't delete everything under a string-subkeyed primary key by using a loop that fetches the next item using conf_get_str_strs and passing the previous key as a parameter, because the previous key will have been freed by the intervening conf_del_str_str. Instead, use the technique of repeatedly using conf_get_str_nthstrkey with index 0 and deleting what comes back, as PSCP and PSFTP do. Spotted by Minefield with the aid of Jacob, or possibly vice versa. check-in: b26163158f user: simon tags: trunk | |
| 13:21 | Missing free. check-in: 37a083ba13 user: simon tags: trunk | |
| 13:18 | conf_copy_into must empty the entire target conf before filling it with the entries from the source one, otherwise add234 will keep failing ("this key already exists"). Completely broke Plink, ahem. check-in: 976bebec7b user: simon tags: trunk | |
| 11:03 | When doing manual underlining, underline the text in question rather than a box to the right of it. Probably introduced sometime around r9063. check-in: 08a0d45df9 user: jacob tags: trunk | |
|
2011-07-14
| ||
| 13:52 | Post-release destabilisation! Completely remove the struct type 'Config' in putty.h, which stores all PuTTY's settings and includes an arbitrary length limit on every single one of those settings which is stored in string form. In place of it is 'Conf', an opaque data type everywhere outside the new file conf.c, which stores a list of (key, value) pairs in which every key contains an integer identifying a configuration setting, and for some of those integers the key also contains extra parts (so that, for instance, CONF_environmt is a string-to-string mapping). Everywhere that a Config was previously used, a Conf is now; everywhere there was a Config structure copy, conf_copy() is called; every lookup, adjustment, load and save operation on a Config has been rewritten; and there's a mechanism for serialising a Conf into a binary blob and back for use with Duplicate Session. User-visible effects of this change _should_ be minimal, though I don't doubt I've introduced one or two bugs here and there which will eventually be found. The _intended_ visible effects of this change are that all arbitrary limits on configuration strings and lists (e.g. limit on number of port forwardings) should now disappear; that list boxes in the configuration will now be displayed in a sorted order rather than the arbitrary order in which they were added to the list (since the underlying data structure is now a sorted tree234 rather than an ad-hoc comma-separated string); and one more specific change, which is that local and dynamic port forwardings on the same port number are now mutually exclusive in the configuration (putting 'D' in the key rather than the value was a mistake in the first place). One other reorganisation as a result of this is that I've moved all the dialog.c standard handlers (dlg_stdeditbox_handler and friends) out into config.c, because I can't really justify calling them generic any more. When they took a pointer to an arbitrary structure type and the offset of a field within that structure, they were independent of whether that structure was a Config or something completely different, but now they really do expect to talk to a Conf, which can _only_ be used for PuTTY configuration, so I've renamed them all things like conf_editbox_handler and moved them out of the nominally independent dialog-box management module into the PuTTY-specific config.c. check-in: a2c0243430 user: simon tags: trunk | |
|
2011-07-12
| ||
| 14:59 | Readjust checklist, because actually the section on updating the website _wasn't_ missing - I just looked straight past it somehow. Fold the two versions together into one more complete than either. check-in: 8bd5634b69 user: simon tags: trunk | |
| 14:56 | Various updates to the release checklist: - for 'ixion' read 'atreus' throughout - the signature-checking commands needed minor modifications to cope with more *sums files - stated a few things explicitly which were previously implied, in case the next inter-release gap is also long enough for me to forget them. check-in: 2f52ee5e83 user: simon tags: trunk | |
| 13:26 | Bump version number prior to tagging 0.61 release. check-in: 5cdb9218c9 user: simon tags: trunk | |
| 13:13 | Fix the _rest_ of the Windows compile warnings. (ahem) check-in: d6f00ed3c4 user: simon tags: trunk | |
| 13:09 | Fix Windows compile warnings by adding explicit casts. check-in: 41069e17e8 user: simon tags: trunk | |
|
2011-07-10
| ||
| 09:22 | Add a directory 'contrib/cygtermd', containing the source code for my hacky helper program to let PuTTY act as a local pterm-oid on Cygwin-enabled Windows systems. check-in: baadd9c253 user: simon tags: trunk | |
| 06:45 | Generate some checksum files with more up-to-date hash functions than MD5. Shipped (and signed) alongside the existing 'md5sums' file. check-in: a7fd5e4a15 user: simon tags: trunk | |
|
2011-07-01
| ||
| 16:53 | Fix 'winadj-success': since at least one server (boks_sshd) blithely responds to "winadj@putty.projects.tartarus.org" with SSH_MSG_CHANNEL_SUCCESS despite probably having no idea what it means, treat this just the same as SSH_MSG_CHANNEL_FAILURE instead of killing the connection. Tested only as far as making sure that winadj/FAILURE with a normal server isn't _completely_ broken. check-in: f1abb22039 user: jacob tags: trunk | |
|
2011-06-25
| ||
| 12:37 | Rewrite gprefs() in settings.c so that its input mapping includes information about where to put items that aren't mentioned in the saved configuration. So far the only nontrivial use I've made of this facility is to default to placing KEX_RSA just above KEX_WARN in the absence of any other information, which should fix 'ssh2-rsa-kex-pref'. While I'm here I've rewritten wprefs() on general principles to remove the needless length limit, since I was touching it anyway. The length limit is still in gprefs (but I've lengthened it just in case). check-in: 4adc7eb538 user: simon tags: trunk | |
|
2011-06-08
| ||
| 15:47 | Make Pageant use the same SID-selection logic as the Pageant client code (as introduced in r9043), so that it uses the user SID rather than the default SID. This does change the access-control model, in that a Pageant running with administrator privilege will now serve keys to an unprivileged PuTTY running as the same user who started Pageant. Owen and I think this isn't a problem (in particular, it will still not serve keys to a _different_ user). More importantly, making the Pageant client and server code work the same way means that PuTTY and Pageant can still talk to each other when UAC is turned off, which we've had several reports of r9043 having broken. check-in: 6c7c0b8c61 user: simon tags: trunk | |
| 15:39 | When we fail to get a response from Pageant, we should log the fact. Currently, if the IPC exchange goes wrong, the Event Log just prints "Pageant is running. Requesting keys." and then goes on to the next step without ever saying what happened. check-in: fe6e6a6d68 user: simon tags: trunk | |
|
2011-05-07
| ||
| 05:57 | Fixes (mostly from Colin Watson, a couple redone by me) to make Unix PuTTY compile cleanly under gcc 4.6.0 without triggering any of its new warnings. check-in: af856539a4 user: simon tags: trunk | |
|
2011-04-08
| ||
| 10:52 | The documentation was still claiming that we don't support x11-auth. check-in: 7bcc78c213 user: jacob tags: trunk | |
|
2011-03-09
| ||
| 12:10 | Note the possibility of a pause due to /dev/random blocking. check-in: e3145b1e0c user: jacob tags: trunk | |
|
2011-03-04
| ||
| 16:34 | Implement zlib@openssh.com, using the rekey-after-userauth method suggested in the wishlist entry. check-in: d3818c897b user: jacob tags: trunk | |
|
2011-03-02
| ||
| 13:12 | Colin Watson reports that gnome-session has been known to leave SIGPIPE ignored in its child processes, leading to unexpected behaviour inside pterms. (The gnome-session I'm sitting in front of doesn't seem to do this as far as I can tell, but I don't doubt there are some that do.) Add SIGPIPE to the list of signals we reset to default behaviour before launching pterm's child process. check-in: c736ac142e user: simon tags: trunk | |
| 12:52 | Set the 'must_close_session' flag at the end of close_session(), so that we won't keep calling close_session() again the next time we go round the message loop. Should fix unclean-close-hang. Thanks to Simon Coleman for debugging. check-in: 5813186d25 user: simon tags: trunk | |
|
2011-03-01
| ||
| 18:18 | Fix probably-harmless type mismatch in nogss.c (and #include "putty.h" to stop it happening again; this was spotted by GCC's "-flto" option). check-in: 0ad7c507f1 user: jacob tags: trunk | |
| 17:44 | Add some extra validation to zlib decompression (primarily to shut up a GCC 4.6 warning). check-in: 7e474fcfd0 user: jacob tags: trunk | |
| 17:10 | Add some "#ifdef OPTIMISE_SCROLL" scar tissue to placate GCC 4.6 -Wunused-but-set-variable. check-in: 3d803e4303 user: jacob tags: trunk | |
| 17:04 | Remove an unused variable (should shut up a warning from GCC 4.6). check-in: 3fd9cd6610 user: jacob tags: trunk | |
| 17:00 | Use pid_t more consistently. Should shut up a warning from GCC 4.6, and may conceivably help on platforms where int and pid_t aren't sufficiently similar. check-in: 5b7da77997 user: jacob tags: trunk | |
|
2011-02-22
| ||
| 13:09 | Rejig the bottom-level loops in internal_mul_* to use pointers instead of array indices. You'd hope that compilers could automatically turn the one representation into the other if it was faster to do so, but apparently not: even on gcc -O3, this source transformation gains over 15% performance. check-in: 6763461ff8 user: simon tags: trunk | |
|
2011-02-21
| ||
| 18:06 | Make bignum.py self-contained, by importing versions of the two functions I was depending on from my personal Python maths utility module. check-in: 77e95b9423 user: simon tags: trunk | |
| 13:47 | Move the malloc and free of scratch space out of the internal_mul routines into their callers, where they'll be done once for a whole modpow rather than many times within each multiply. Doesn't save much time as far as I can see - perhaps a couple of percent, one second in the minute it takes to run the new bignum test suite - but seems like a sensible idea anyway on general principles. check-in: b2634a2d13 user: simon tags: trunk | |
|
2011-02-20
| ||
| 09:45 | svn:ignore property mentioning 'bignum.txt', which is what I'm calling the output of bignum.py. check-in: cd10252a20 user: simon tags: trunk | |
| 09:42 | A few more modpow tests, exercising the fallback option. This is mostly so I can valgrind both and make sure they free all their workspace - a memory leak in this code would be not merely an inconvenience but a security hazard. check-in: 79e3267f39 user: simon tags: trunk | |
| 09:27 | Add tests of modpow. check-in: 3d51962f75 user: simon tags: trunk | |
| 09:14 | Nearly forgot. Reinstate the original unoptimised modpow, as a fallback for when Montgomery is inapplicable. (I may also at some point switch to using it for small exponents, if speed testing should reveal that there's a noticeable threshold beyond which preparing the Montgomery setup is uneconomical.) check-in: ea08136170 user: simon tags: trunk | |
| 09:06 | Fix bug in Karatsuba multiplication, which affected propagation of a carry by more than one word. Now the current set of test cases all pass again. check-in: 27088925dd user: simon tags: trunk | |
| 08:59 | Beginnings of a test suite for the bignum code. The output of testdata/bignum.py is twice the size of the rest of the PuTTY source put together, so I'm not checking it in. This reveals bugs in the new multiplication code, which I have yet to fix. check-in: 44a7af2b6b user: simon tags: trunk | |
|
2011-02-18
| ||
| 13:12 | Prompt for a remote username in rlogin connections, if one wasn't specified in the configuration. Jacob's userpass abstraction proves its worth in making this a trivial job. (Actually reported by a user - somebody's still using rlogin!) check-in: 05d4b5c93b user: simon tags: trunk | |
| 02:25 | Implement the Chinese Remainder Theorem optimisation for speeding up RSA private key operations by making use of the fact that we know the factors of the modulus. check-in: a46f247bcf user: simon tags: trunk | |
| 02:25 | Implement the Montgomery technique for speeding up modular exponentiation by replacing the modulo operation by a cleverly chosen multiplication. This was not worth doing in the previous state of the code (because my multiply was about as slow as my modulo), but now that multiplication has been sped up by the Karatsuba optimisation, Montgomery becomes worthwhile. check-in: 5a0a3cc1d6 user: simon tags: trunk | |
| 02:25 | Implement the Karatsuba technique for recursive divide-and-conquer optimisation of large multiplies. check-in: db09cee4b7 user: simon tags: trunk | |
| 02:25 | Add some appropriate bignum typedefs for generic 64-bit systems, setting BignumInt to 32 bits. gcc defines _LP64 on x86-64 and presumably on other 64-bit architectures, so I've conditioned my defines on that in the hope that they won't need redoing for the next few such architectures. I've also added a set for _LLP64, but it's untested as yet. check-in: d00a7a3fe5 user: simon tags: trunk | |
|
2011-01-15
| ||
| 05:39 | Allow setting the WM_CLASS X window property as a configuration option in saved sessions, so that a programmable window manager can distinguish different PuTTYs/pterms on startup and assign them different window management properties. check-in: b43117417a user: simon tags: trunk | |
|
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 | |
|
2010-03-13
| ||
| 09:14 | 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). check-in: 731886a245 user: jacob tags: trunk | |
| 08:47 | Tweak description of dynamic port forwarding, and point people running into 'Out of space for port forwardings' at it. check-in: 0e44be0bf1 user: jacob tags: trunk | |
|
2010-03-06
| ||
| 09:50 | 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! check-in: 35aecab820 user: simon tags: trunk | |
|
2010-02-20
| ||
| 13:15 | Unix console utilities should send prompts to /dev/tty or failing that stderr, not to stdout. check-in: d32827a7f2 user: simon tags: trunk | |
| 13:06 | 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. check-in: b7eb6b8ae9 user: simon tags: trunk | |
| 05:21 | Update to r8614: another -D_FORTIFY_SOURCE=2 fix. check-in: a89fe5a769 user: simon tags: trunk | |
|
2010-02-17
| ||
| 13:02 | 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. check-in: 40866f6b70 user: simon tags: trunk | |
|
2010-01-25
| ||
| 08:33 | ...and the rest of r8854. check-in: 698420e57a user: jacob tags: trunk | |
|
2010-01-23
| ||
| 06:25 | 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. check-in: d38cce3d87 user: jacob tags: trunk | |
|
2010-01-17
| ||
| 17:53 | Revert r8847, which was bilge; I can't magically change the order of a tree just by giving a different sorting function to find234(). check-in: c2eb6eced0 user: jacob tags: trunk | |
| 11:27 | It's a new year. check-in: 396c88ece5 user: jacob tags: trunk | |
| 10:22 | Change expiry of timers when their contexts go away from lazy to eager. Intended to be of benefit to derived code making many connections from a single process. check-in: bb1cad5917 user: jacob tags: trunk | |
| 10:20 | Plug a few minor memory leaks, based on a patch by Sirp Potijk. While I'm here, add an assertion in sshrand.c to catch mistakes in reference counting. check-in: fecf1a52c9 user: jacob tags: trunk | |
|
2009-11-22
| ||
| 13:10 | On Windows, character set specifications of the form 'IBM437' would never have worked due to a typo. Spotted by Todd Burkey. check-in: 395ba90760 user: jacob tags: trunk | |
|
2009-11-13
| ||
| 07:24 | Add a keyboard shortcut for the "serial" protocol to the GUI. Will cause non-zero, but hopefully acceptable, disruption to people's finger macros. check-in: b79ee3085f user: jacob tags: trunk | |
|
2009-11-10
| ||
| 13:14 | Patch from Tim Kosse to fix 64-bit-cleanness in SHA-512. check-in: d32d173608 user: simon tags: trunk | |
|
2009-11-08
| ||
| 13:25 | We defined tried_shgetfolderpath but never actually set it. Harmless, but fixed. check-in: e07225584a user: jacob tags: trunk | |
| 13:22 | Use DECL/GET_WINDOWS_FUNCTION in a few more places in place of ad-hoc GetProcAddress(). check-in: de2a5fba6a user: jacob tags: trunk | |
| 12:47 | Move the two existing DECL/GET_foo_FUNCTION macro sets used for dynamic linking on Windows into a single global one, which can cope with function renaming. Intended to enable eventual removal of ANSI-specific DoSomethingA references (although I've not removed any). check-in: 10f4a37d77 user: jacob tags: trunk | |
| 12:25 | Improve buffer handling in Windows sk_getaddr() -- we were passing uninitialised storage into WSAAddressToString()'s length function (and presumably getting away with it by luck). Also improve error handling (exposed by my Wine installation, which returns an error from WSAAddressToString() for connections to localhost for some reason). check-in: 6f1dcc5227 user: jacob tags: trunk | |
|
2009-11-01
| ||
| 16:06 | Stop trying to enumerate all the kinds of Windows we support on the download page. Define in more detail what we mean by "Windows" in the Ports section of the FAQ. check-in: 14ddde52f8 user: jacob tags: trunk | |
|
2009-09-27
| ||
| 11:20 | Remove is_shift_pressed() -- it's not been used since r4906. check-in: 63058ec840 user: jacob tags: trunk | |
| 11:07 | Another warning fix and cosmetic tweakage. check-in: 24756eb643 user: jacob tags: trunk | |
| 10:52 | Quell more warnings and, perhaps, avoid alignment faults on 64-bit Windows. check-in: d56656f7b8 user: jacob tags: trunk | |
| 10:31 | Fix some (probably harmless) warnings. check-in: 95f383c5c3 user: jacob tags: trunk | |
|
2009-09-25
| ||
| 18:32 | Change manifest files to declare Windows GUI apps to be "DPI-aware", that is, not fazed by being displayed at other than 96DPI; testing on Vista at a range of DPIs indicates that we cope (with the minor and inevitable exception of the drag-list control). This stops pixel scaling and hence fuzzy display on high-resolution displays. (Hope this is last disastrous than my last set of manifest tweaks! -- <http://support.fogcreek.com/default.asp?copilot.6.26840.1> suggests that this is an OK thing to do.) check-in: e4ebebae53 user: jacob tags: trunk | |
|
2009-09-16
| ||
| 17:28 | Fix minor file descriptor leaks. Found by cppcheck, reported by Tim Kosse. check-in: f22fd7eb98 user: jacob tags: trunk | |
|
2009-09-14
| ||
| 16:26 | Since r7266, it's been possible to get a hostname into Default Settings; but plink did not cope gracefully with this -- it was not possible to override that hostname on the command line (attempts at doing so would be treated as part of the remote command). Fix this by applying the principle of r7265: if the user didn't explicitly specify that they wanted to launch the hostname in the default (for instance with '-load "Default Settings"', we assume they don't want to, and such a hostname doesn't count when deciding whether to treat a non-option argument as hostname or command. check-in: 20880a1ebe user: jacob tags: trunk | |
|
2009-09-13
| ||
| 18:41 | In Unix PuTTY, grey out "Restart Session" when it doesn't apply (as the Windows version does), rather than hiding it completely. check-in: 239594768a user: jacob tags: trunk | |
| 18:37 | Add a couple of ellipses in Unix context menu (like r759 on Windows). check-in: 0a2d6244f2 user: jacob tags: trunk | |
| 18:29 | If there are no saved sessions, put a grayed "(No sessions)" entry on the saved sessions submenu of the terminal window context menu (as Pageant does), rather than an empty menu (which often renders poorly). check-in: 67bc4c7b05 user: jacob tags: trunk | |
|
2009-08-30
| ||
| 08:16 | Avoid compiling autoconf test programs with -Wall -Werror; doing so causes trouble on Ubuntu, where the Gtk test programs don't check the return value from system() and thus fall foul of the combination of our -Werror and <https://wiki.ubuntu.com/CompilerFlags#-D_FORTIFY_SOURCE=2>. check-in: 0516506708 user: jacob tags: trunk | |
| 06:09 | Minor improvements to error reporting in logging. check-in: f5f8c5e862 user: jacob tags: trunk | |
|
2009-08-21
| ||
| 18:25 | Remove outdated comment. check-in: 337a48e8d8 user: jacob tags: trunk | |
| 17:29 | From Corey Stup: when we're declaring stuff for WSAAddressToStringA, we should use the explicitly-narrow type LPSTR, not the switchable type LPTSTR. (Since we currently build without UNICODE this makes no practical difference to us now.) check-in: 911d1f3e09 user: jacob tags: trunk | |
| 16:16 | Corey Stup points out a memory leak in the local-proxy implementations. check-in: d2d15b58f4 user: jacob tags: trunk | |
| 15:05 | Corey Stup points out that any attempt to display the message "Unable to load any WinSock library" will lead to a segfault. check-in: 71f110ef4b user: jacob tags: trunk | |
|
2009-08-18
| ||
| 18:51 | Attempt to filter out duplicate port forwardings in the GUI. check-in: a55940aad5 user: jacob tags: trunk | |
| 18:38 | Fix handling of duplicate port forwardings; they were effectively cancelling out, but are now just ignored. (We should make more effort to prevent duplicates before they get as far as ssh_setup_portfwd() -- it's currently trivially easy to enter them in the GUI and on the command line, let alone both -- but there's bound to be someone with a saved session containing dupes out there by now, and anyway there are duplicates we can't detect before getting this far, for instance "1234:localhost:22" vs "1234:localhost:ssh".) check-in: 16f350f6b0 user: jacob tags: trunk | |
|
2009-08-16
| ||
| 17:51 | Quell "config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting" warning when running ./configure, per <http://www.gnu.org/software/autoconf/manual/html_node/Changed-Directory-Variables.html> check-in: dfb13212a3 user: jacob tags: trunk | |
|
2009-08-15
| ||
| 12:45 | Keep the state of the "Full Screen" menu item on the Ctrl+right-click context menu in sync with reality and the system menu. check-in: 8ce7de2804 user: jacob tags: trunk | |
|
2009-08-13
| ||
| 17:01 | Add "-serial" to Plink's usage message. check-in: db550eade7 user: jacob tags: trunk | |
|
2009-08-10
| ||
| 15:55 | Patch from Alan Clucas (somewhat polished) providing command-line options to select and configure serial port mode. check-in: 8384fb9144 user: simon tags: trunk | |
| 15:38 | Fixes for re-entrant calls in the serial configuration list boxes. (I'm starting to think I made an egregious design error somewhere in this mechanism.) check-in: aa0d4a985b user: simon tags: trunk | |
|
2009-08-06
| ||
| 19:19 | Workarounds for compiling with -D_FORTIFY_SOURCE=2 (as Ubuntu does), which doesn't like you to ignore the return value from read()/write()/etc (and apparently can't be shut up with a cast to void). check-in: c1918bea98 user: jacob tags: trunk | |
| 17:55 | More use of sockaddr_union (above and beyond that necessary to remove current warnings). check-in: a341764006 user: jacob tags: trunk | |
| 17:12 | Avoid "dereferencing pointer 'sa' does break strict-aliasing rules" warnings from recent versions of GCC. check-in: bbcbaf04fd user: jacob tags: trunk | |
|
2009-07-28
| ||
| 18:45 | Alex Besogonov suggests that our Unix autoconf GSSAPI library search order is sub-optimal -- apparently it prefers shishi above Heimdal, and apparently that's bad. check-in: 3e52850b91 user: jacob tags: trunk | |
| 18:30 | Mention Makefile.ux. Be less certain about the possibility of building with vanilla VC6. Provide more details of actively tested toolchains. check-in: 1cf3100f88 user: jacob tags: trunk | |
| 18:20 | Include putty.h (and hence uxconfig.h) before testing for NO_GSSAPI, so that "./configure --without-gssapi" actually works. Spotted by Rob Shinn. check-in: 8a134cc73a user: jacob tags: trunk | |
|
2009-07-12
| ||
| 07:02 | Typo: replace a \i with a \I. check-in: 3c79a67214 user: simon tags: trunk | |
|
2009-06-10
| ||
| 12:42 | Clearing and refilling the code-pages list box can cause a re-entrant call to its handler in config.c, which destroys the previous value in cfg->line_codepage. Therefore, preserve the right value in an automatic variable until all the re-entrant calls have finished. check-in: 456fa805f5 user: simon tags: trunk | |
|
2009-05-11
| ||
| 13:48 | Add a 'unix' Makefile type, for building the non-GUI parts of the PuTTY suite on non-GTK-enabled build platforms. check-in: b60c3e56cd user: simon tags: trunk | |
| 03:46 | Pango-based font handling: combine display of adjacent characters into a single gdk_draw_layout() where conveniently feasible, after some work with xtrace revealed this as a major source of pterm's slow display updates when using client-side fonts. Ideally we ought to be able to do better. I know exactly what sequence of X protocol operations I want to see on the wire, but I don't know how to persuade Pango to generate them. check-in: e576c2c032 user: simon tags: trunk | |
|
2009-04-26
| ||
| 18:44 | Ansgar Wiechers points out that known_hosts (at least OpenSSH's) has grown a means of specifying port numbers, so we should support that. check-in: dec77ca0b0 user: jacob tags: trunk | |
| 18:03 | Discard hashed hostnames from input. check-in: 518f117cbb user: jacob tags: trunk | |
| 17:32 | Reported by Tim Kosse: on Unix, read_random_seed() wasn't correctly checking the return from open() and behaved wrongly in the absence of a seed file. check-in: 5c8bb6b262 user: jacob tags: trunk | |
| 17:19 | Several people have spotted an uninitialised structure member leading to a potential crash on "reget" in Unix PSFTP. check-in: 62f89992d5 user: jacob tags: trunk | |
|
2009-04-24
| ||
| 13:45 | Richard Clark points out a missing check for ssh->mainchan being NULL. check-in: fbeba1f90f user: simon tags: trunk | |
|
2009-04-23
| ||
| 12:39 | When giving authorisation errors from the proxy code in x11fwd.c, name the proxy using the global 'appname' variable, instead of statically calling it PuTTY. (Knock-on effect is that PSCP and PSFTP have to declare that variable, though of course they shouldn't ever actually _use_ the X forwarding code. Probably I ought to replace it with a stub nox11fwd.c for those applications.) check-in: 39f0cd437b user: simon tags: trunk | |
| 12:33 | When starting a SOCKS connection in dynamic forwarding, freeze the local socket _before_ calling the SSH setup functions. This makes no difference to ssh.c itself, but it makes portfwd.c easier to reuse for other purposes (e.g. as a component of a standalone SOCKS server), because now ssh_send_port_open() can itself call pfd_confirm() without the freeze and unfreeze happening in the wrong order. check-in: 08ea874aac user: simon tags: trunk | |
|
2009-03-24
| ||
| 17:24 | Support in the cross-platform code for translating to and from UTF-16 when exchanging wchar_t strings with the front end. Enabled by a #define in the platform's header file (one should not promiscuously translate UTF-16 surrogate pairs on 32-bit wchar_t platforms since that could give rise to redundant encoding attacks), which is present on Windows. check-in: 40cc1bcada user: simon tags: trunk | |
|
2009-03-03
| ||
| 13:57 | Fix cosmetic keyboard-interactive issue: at the end of a normal k-i session, some servers (Debian in particular seems prone to this) send a k-i packet with no prompts and nothing to display. We were printing an extra "Using keyboard-interactive authentication" message in this case. (Introduced by me in r8172, I think.) check-in: 2229b9d9c3 user: jacob tags: trunk | |
| 12:35 | Handle more gracefully the possibility of a keyboard-interactive prompts packet containing no actual prompts (perhaps due to odd server organisation, or perhaps so it can print a banner message and do nothing else). Previously, the get_userpass_input functions always returned failure when in '-batch' mode, even in this case where no actual input would be required. check-in: 628ac4afae user: simon tags: trunk | |
|
2009-02-28
| ||
| 17:04 | Stop using physical tabs in Python. (I was goaded into doing this by my editor, which has defaulted to showing them as explicit ^I for a while now, but it seems like a generally prudent idea in any case.) check-in: 0a7aa358d3 user: simon tags: trunk | |
| 10:52 | Debian bug #517535: we were unconditionally interpreting the 'string' field in a GdkEventKey structure as ISO-8859-1, which was correct for GTK 1.2 but in 2.0 that field is encoded according to the current C library locale. Hence, we now process that field by converting it to UTF-8 via trips through both libc and libcharset, and then let lpage_send() convert from UTF-8 back to whatever it's supposed to actually go down the line in. check-in: d5f3c90afa user: simon tags: trunk | |
|
2009-02-24
| ||
| 16:56 | Fix inaccurate error message. check-in: cfd96a2662 user: jacob tags: trunk | |
|
2009-02-23
| ||
| 19:01 | Since r8305, Unix PuTTY has always "upgraded" an X11 display like "localhost:0" to a Unix-domain socket. This typically works fine when PuTTY is run on the same machine as the X server, but it's broken multi-hop X forwarding through OpenSSH; when OpenSSH creates a proxy X server "localhost:10", it only listens on TCP, not on a Unix-domain socket. Instead, when deciding on the details of the display, we actively probe to see if there's a Unix-domain socket we can use instead, and only use it if it's there, falling back to the specified IP "localhost" if not. Independently, when looking for local auth details in Xauthority for a "localhost" TCP display, we prefer a matching Unix-domain entry, but will fall back to an IP "localhost" entry (which would be unusual, but we don't trust a Windows X server not to do it) -- this is a generalisation of the special case added in r2538 (but removed in r8305, as the automatic upgrade masked the need for it). (This is now done in platform-independent code, so a side-effect is that get_hostname() is now part of the networking abstraction on all platforms.) check-in: d5c507e1ed user: jacob tags: trunk | |
| 16:40 | Stop attempting to make session logs private on Unix. This was introduced in r7084 at the same time as sensible permissions when writing private key files; however, it causes an assertion failure whenever an attempt is made to append to an existing log file on Unix, and it's not clear what "is_private" *should* do for append, so revert to log file security being the user's responsibility. (Fixes Ubuntu LP#212711.) check-in: 6b722846ee user: jacob tags: trunk | |
|
2009-02-03
| ||
| 15:22 | The Windows config option to point at an X authority file is only read at connection setup time, so don't offer it in the Change Settings dialog box. (In particular, this fixes an assertion failure when selecting Change Settings on a non-SSH connection, since wincfg.c would have added that control to Connection/SSH/X11 when the parent panel Connection/SSH didn't exist. Making the control conditional on the selected protocol would have been sufficient to fix that failure, but I now realise that the setting should never have been presented in mid-session in any case.) check-in: 505eceb938 user: simon tags: trunk | |
|
2009-01-21
| ||
| 12:47 | Don't call ReleaseCapture() on any mouse-button-up event. Instead, only call it when the _last_ mouse button comes back up. Otherwise, xterm mouse tracking will lose a button-up event if you press down two buttons, move the mouse outside the window, then release them one at a time. check-in: e7cab95225 user: simon tags: trunk | |
|
2009-01-13
| ||
| 12:18 | Check the two popen() calls in noise_get_heavy for NULL. check-in: 2d54705a73 user: simon tags: trunk | |
|
2009-01-12
| ||
| 14:41 | Patch from Gert-Jan Vons: create an event handle to go in the OVERLAPPED structure in output threads, as we already do for input threads. This apparently sorts out a hanging issue with serial ports when trying to do simultaneous read and write, because (GJV says, and it sounds plausible to me) in the absence of that event object Windows signals the file handle itself to notify GetOverlappedResult that it can return - and since the file handle might be being signalled by a read operation instead, that leads to ambiguity. Using an explicit event object in both directions means Windows always knows which way the data is going. Also a trivial fix in handle_output_new(), which was referencing the wrong element of a union due to a copy and paste error. (Since the result was address-taken and cast to void *, this wasn't a functional error, but it was conceptually wrong.) check-in: d11b0542b8 user: simon tags: trunk | |
|
2009-01-11
| ||
| 08:26 | Arguments to ctype functions are required to be either EOF or representable as unsigned char. This means that passing in a bare char is incorrect on systems where char is signed. Sprinkle some appropriate casts to prevent this. check-in: 099ec87441 user: ben tags: trunk | |
| 08:20 | Propagate my ctype fixes (r8404) from libcharset. check-in: 31f512a4c2 user: ben tags: trunk | |
|
2009-01-09
| ||
| 12:55 | Weaken the assertion in general_textout(). It was failing in the case of double-width text (ESC # 3, ESC # 4, ESC # 6), because the string passed to it was not truncated to the same width as the clipping rectangle. (In fact, it _can't_ reliably be, in the case where the window width is odd.) So instead we just assert that we managed to _at least_ fill the clipping rectangle, not that we exactly filled it. The problem is easily reproduced by sending ESC # 8 (fill the screen with Es) followed by ESC # 3. It doesn't typically happen, though, if you _manually_ fill the screen with Es, because in that case PuTTY's terminal buffer ends up being filled with CSET_ACP | 'E' or similar, which means that general_textout() never gets called because one of the other branches of do_text_internal() does the work instead. ESC # 8 will fill the terminal buffer with genuine _Unicode_ 'E' characters, which exercises the failing code path. check-in: 5e99094c97 user: simon tags: trunk | |
|
2009-01-08
| ||
| 12:21 | Another patch from Colin, providing a "make distclean" target in the autoconf makefile. check-in: 6167ee8ecf user: simon tags: trunk | |
| 12:19 | Colin also suggests that we can replace the backticks in the GTK makefile with make's own $(shell ...) function, which means that gtk-config and krb5-config and so on only get run once per make invocation instead of once per gcc invocation. check-in: 6d8a27ba70 user: simon tags: trunk | |
| 12:18 | Colin Watson reports a strange problem whereby krb5-config incorporates the environment variable CFLAGS into its output. Avoid exporting our version of it from the Makefile (which actually causes build failures, since quoting phase issues mean that the backticks in our version end up unexpanded). check-in: 4cf626f656 user: simon tags: trunk | |
|
2009-01-05
| ||
| 18:25 | Rejig windlg.c:verify_ssh_host_key() to silence a warning. check-in: e26e7e1051 user: jacob tags: trunk | |
| 18:16 | Remove a couple of unused variables. check-in: 021a9a45ae user: jacob tags: trunk | |
| 17:49 | It's a new year (and there have even been checkins). check-in: 3b96830db1 user: jacob tags: trunk | |
| 17:36 | sk_address_is_local() failed to cope when presented with a Unix-domain socket. This could cause Unix PuTTY to segfault when X forwarding over an SSH session through a proxy. (sk_getaddr() wouldn't cope either -- in that case, add an assertion to make it more obvious; I don't think it should ever happen.) check-in: 6691b9082e user: jacob tags: trunk | |
| 16:53 | Be prepared for x11_setup_display() to return NULL (for instance, if DISPLAY has invalid contents). Simply refuse to try X forwarding in this circumstance. check-in: 09b6bc2c14 user: jacob tags: trunk | |
| 13:39 | r5080 didn't go far enough -- since 0.58, anyone on Unix who didn't previously have default settings for "bell overload" mode will have inherited a twitchy set of defaults where bells are disabled after 2ms and enabled after 5ms, rather than 2s and 5s as intended. This error has probably propagated into some people's saved sessions by now, but there's not much to be done. check-in: 961a87a59a user: jacob tags: trunk | |
|
2009-01-04
| ||
| 20:45 | Add some hard-coded textual literal-IP representations of localhost to sk_hostname_is_local(), to catch the case where we're doing something like X11 forwarding over SSH through a proxy, and we've thus disabled local lookup of hostnames. (I think this is what's behind the report in <e9a86996-5dc2-4428-9b0c-c65693ca6351@m32g2000hsf.googlegroups.com> in comp.security.ssh, although I'd like to know more of the circumstances.) check-in: 7bc06e3d51 user: jacob tags: trunk | |
| 19:15 | ...and fix an unlikely memory leak. check-in: d5bdfa2feb user: jacob tags: trunk | |
| 19:01 | Cope with a (non-standard) ENAMETOOLONG return from gethostname(); glibc will do this if the supplied buffer isn't big enough, which shouldn't lead to complete abandonment of X11 auth. (Would only have bitten with hostnames >255 chars anyway.) check-in: 057f0b0fca user: jacob tags: trunk | |
| 17:36 | r8305 made platform_x11_best_transport[] obsolete, but there still seem to be a few instances around; expunge them. check-in: 24aec5eb8d user: jacob tags: trunk | |
| 17:28 | r8305 seems to have made Unix PuTTY rather over-keen on Unix-domain sockets; unless a protocol is explicitly specified with "tcp/foovax:0", it assume a Unix-domain socket, thus not allowing a remote display on a machine other than the client. check-in: ea832c43a2 user: jacob tags: trunk | |
| 16:24 | Bah, I've bumped into this often enough. Change one unsatisfactory cast for another to shut up "warning: cast from pointer to integer of different size" (and hence a -Werror compile failure) when compiling for Unix with DEBUG defined on atreus (x86_64). Minimally checked that it doesn't introduce upset elsewhere (i386). check-in: cd26670299 user: jacob tags: trunk | |
| 15:43 | Log reason for failure to create a connection to a local X display. check-in: ec4e3d53bd user: jacob tags: trunk | |
|
2008-12-29
| ||
| 14:04 | r8338 broke pasting with Shift-Ins and from the context menu on Windows. Divert these to use the request_paste() interface. check-in: 4a0333b4d1 user: jacob tags: trunk | |
|
2008-12-20
| ||
| 13:43 | "Derek" reports that the DECSLPP report of window-size-in-pixels (CSI 14 t) has width and height swapped. Since both a random xterm I have and <http://invisible-island.net/xterm/ctlseqs/ctlseqs.txt> agree with him, I've changed ours. (This stuff appears to originate in dtterm, but I can't check the behaviour of that right now.) While I'm here, the are-we-iconified report (CSI 11 t) looks to have the wrong sense compared to the same sources, so swap that too. (All this has been this way since it was originally implemented in r1414, which doesn't cite a source. all-escapes is silent too.) check-in: 723579ac90 user: jacob tags: trunk | |
| 13:02 | "Derek" points out that reporting of wheel event coordinates to the host on Windows was relative to the screen origin, not the window origin. check-in: 74835487a0 user: jacob tags: trunk | |
| 12:52 | Cosmetic: clarify that term->xterm_mouse is not boolean, etc. check-in: cecf02ac91 user: jacob tags: trunk | |
|
2008-12-02
| ||
| 18:06 | gtk_selection_clear_targets() does not exist on GTK 1, so ifdef it. check-in: 1722b59c4b user: simon tags: trunk | |
| 12:18 | At some point recently, Unix PuTTY started suffering build errors using -DNO_GSSAPI. Move some ifdefs around so it stops. check-in: 449718590d user: simon tags: trunk | |
|
2008-12-01
| ||
| 17:03 | Add missing call to gtk_selection_clear_targets(), without which the list of selection targets offered by GTK PuTTY/pterm grows an extra copy of each of the three supported text formats every time the user makes a selection! check-in: d7ac9e085e user: simon tags: trunk | |
| 15:18 | Change the Unix version of Ssh_gss_name to be a gss_name_t rather than void *, and hence eliminate a few casts. The Windows definition is unchanged, but I daresay I've managed to stop it compiling nonetheless. check-in: 326c946211 user: ben tags: trunk | |
|
2008-11-30
| ||
| 15:35 | As far as I can tell, "simple@putty.projects.tartarus.org" has always been implemented as a channel request, not a global one. Change documentation to match implementation. check-in: 6adcb69429 user: jacob tags: trunk | |
|
2008-11-28
| ||
| 12:28 | Move the code that reads the Windows clipboard into a trivial subthread, so that it won't deadlock if fetching the content of the clipboard turns out to depend on a network connection forwarded through PuTTY. check-in: 9814c17c86 user: simon tags: trunk | |
|
2008-11-26
| ||
| 08:30 | Jacob correctly points out that I accidentally lost a clearing of s->gss_sndtok in r8326. I'm not sure it was strictly necessary, since even if there's no send token, gss_init_sec_context() is meant to explicitly make it empty, but it wasn't an intentional change. check-in: c9729f111e user: ben tags: trunk | |
| 08:11 | Fix a Windows-specific GSS crash introduced in r8326, which (again) apparently triggers in failure cases. Patch by Iain Patterson. check-in: de10671dea user: jacob tags: trunk | |
| 06:49 | Mitigation for VU#958563: When using a CBC-mode server-to-client cipher under SSH-2, don't risk looking at the length field of an incoming packet until we've successfully MAC'ed the packet. This requires a change to the MAC mechanics so that we can calculate MACs incrementally, and output a MAC for the packet so far while still being able to add more data to the packet later. check-in: 4c69183b8d user: ben tags: trunk | |
|
2008-11-25
| ||
| 16:11 | Now that we use real gss_buffer_ts, there's no need to muck about with casts when passing them to GSS-API functions. Removing them makes the code more readable and allows better type-checking. check-in: 972f7f9cba user: ben tags: trunk | |
| 12:54 | Have wingss.c include <windows.h> by way of putty.h rather than directly. Fixes a build failure involving name clashes between winsock2.h and winsock.h, which had somehow managed to get included in succession. check-in: 390169a34f user: simon tags: trunk | |
| 12:43 | Fixed a PuTTYtel startup assertion failure introduced in r8305. While I'm here, a cosmetic PuTTYtel change: remove a reference to SSH from the "logical host name" label in PuTTYtel only. check-in: b1eafe3828 user: jacob tags: trunk | |
|
2008-11-24
| ||
| 17:56 | I think sshgss.h needs puttyps.h for Ssh_gss_buf. Makes it compile for Windows, anyway. check-in: 67d7ae7d6f user: jacob tags: trunk | |
| 17:44 | Change how we handle the Ssh_gss_buf type. Previously, we defined it ourselves, but on Unix then assumed it was compatible with the system's gss_buffer_desc, which wasn't the case on LP64 systems. Now, on Unix we make Ssh_gss_buf into an alias for gss_buffer_desc, though we keep something similar to the existing behaviour on Windows. This requires renaming a couple of the fields in Ssh_gss_buf, and hence fixing all the references. Tested on Linux (MIT Kerberos) and Solaris. Compiled on NetBSD (Heimdal). Not tested on Windows because neither mingw32 nor winegcc worked out of the box for me. I think the Windows changes are all syntactic, though, so if this compiles it should work no worse than before. check-in: 68eb6751c6 user: ben tags: trunk | |
| 12:19 | Treat lines starting with '#' as comments in PSFTP. check-in: 2f3fc67a1b user: jacob tags: trunk | |
| 11:51 | New option to allow use of the local OS username for login to the remote side if we have no better ideas, with UI shamelessly stolen from Quest PuTTY. Off by default, which effectively reverts the change to using the local username by default that came in with GSSAPI support in r8138. Anyone wanting seamless single sign-on will need to set the new option. (The previous default behaviour was getting in the way in ad-hoc scenarios.) Note that the PSCP and Unix-Plink behaviour of using the local username by default have remained unchanged throughout; they are not affected by the new option. Not sure if that's the Right Thing. check-in: ce33b58a4d user: jacob tags: trunk | |
|
2008-11-23
| ||
| 14:11 | Make key file import robust against a PPK file that has somehow lost its final newline. From Debian bug #414784, based on a patch by Justin Pryzby. check-in: fcd0e1e4f9 user: jacob tags: trunk | |
|
2008-11-22
| ||
| 16:49 | Autoconfiscate GSS-API support, including support for manually disabling it. check-in: c502d27121 user: ben tags: trunk | |
| 16:06 | Changes to make this compile on Solaris 9: use <gssapi/gssapi.h> rather than <gssapi/gssapi_krb5.h> and provide the OID for Kerberos 5 ourselves (since it's a known constant). I'm not sure this actually works on Solaris yet, mind. check-in: 37ec80dd2c user: ben tags: trunk | |
|
2008-11-17
| ||
| 12:38 | Revamp of the local X11 connection code. We now parse X display strings more rigorously, and then we look up the local X authority data in .Xauthority _ourself_ rather than delegating to an external xauth program. This is (negligibly) more efficient on Unix, assuming I haven't got it wrong in some subtle way, but its major benefit is that we can now support X authority lookups on Windows as well provided the user points us at an appropriate X authority file in the standard format. A new Windows-specific config option has been added for this purpose. check-in: 8eda1bb259 user: simon tags: trunk | |
| 12:36 | Avoid freeing the backend in notify_remote_exit(), since that's called from within a backend function which will expect its own backend pointer to still be valid on return. Instead, move all the real functionality of notify_remote_exit() out into a GTK idle function. check-in: d576de5599 user: simon tags: trunk | |
|
2008-11-11
| ||
| 01:47 | In SSH packet logging mode, log SSH-2 packet sequence numbers, in both directions. We had a bug report yesterday about a Cisco router sending SSH2_MSG_UNIMPLEMENTED and it wasn't clear for which packet; logging the sequence numbers should make such problems much easier to diagnose. (In fact this logging fix wouldn't have helped in yesterday's case, because the router also didn't bother to fill in the sequence number field in the SSH2_MSG_UNIMPLEMENTED packet! This is a precautionary measure against the next one of these problems.) check-in: e2d3df5243 user: simon tags: trunk | |
|
2008-11-08
| ||
| 10:58 | Implement sk_addr_dup(). check-in: eed2c42118 user: simon tags: trunk | |
| 10:45 | Move out of the SockAddr structure the mutable fields "ai" and "curraddr", and turn "family" into a macro-derived property of the other fields. The idea is that this renders SockAddrs immutable once created, which should open up the possibility of duplicating and reusing one without having to redo the actual DNS lookup. I _hope_ I haven't broken anything. The new code architecture contains several rather dubious-looking operations (namely the arbitrary choice of the first returned address in functions like sk_getaddr and sk_address_is_local - what if, for instance, a DNS lookup returned a local and a non-local address?), but I think they were functionally just as dubious beforehand and all this change has done is to make them more obviously so to a reader. check-in: d1441c22fa user: simon tags: trunk | |
|
2008-10-17
| ||
| 15:55 | Patch from Iain Patterson: fix crash on Windows when GSSAPI auth is attempted but fails for some reason (such as not having a tgt for the server's realm). check-in: a90338986b user: jacob tags: trunk | |
|
2008-10-13
| ||
| 17:34 | Rejig the Translation panel controls and documentation to remove the emphasis on received data. Experiment and suggestion suggest that the character set configuration applies equally to keystrokes sent to the server, or at least that that's close enough to being true that we should document it as a first approximation. check-in: 3a5b181634 user: jacob tags: trunk | |
| 17:16 | Erroneously invisible index term. check-in: ede5168844 user: jacob tags: trunk | |
|
2008-10-12
| ||
| 06:32 | Fix inability to save session on Unix when ~/.putty doesn't exist introduced in r7934. check-in: cbe8f19c30 user: jacob tags: trunk | |
|
2008-10-08
| ||
| 13:09 | Ahem. Make sure I NULL out any unused pointer field that I later plan to free if it isn't NULL. check-in: 040933bf65 user: simon tags: trunk | |
|
2008-10-07
| ||
| 12:48 | sshrsa.c now obeys the RFC793 Robustness Principle when it comes to the ordering of the primes in a fully specified RSA private key: when the key format typically has p > q, it will always output p > q but be willing to tolerate p < q on input. (Inspired by seeing an OpenSSH-format key file in the wild which had p < q, which I've never seen before; I suspect a third-party application incautiously generating the format.) check-in: 1b00ac1adf user: simon tags: trunk | |
|
2008-09-25
| ||
| 14:00 | The "server refused our key" bit didn't link to the public-key auth chapter, which has some hints on server-side setup. Now it does. check-in: 08e05fbf90 user: jacob tags: trunk | |
|
2008-09-21
| ||
| 15:39 | Document that PSFTP's "open" command allows an optional port number. check-in: f83a6f7414 user: jacob tags: trunk | |
|
2008-09-16
| ||
| 17:56 | Further correction: on reflection, after examining all the call sites for uint64_make(), we _shouldn't_ attempt to preserve high bits in the low-order argument; it turns out not to be what the call sites want. check-in: b04b998cac user: simon tags: trunk | |
| 13:21 | 64-bit cleanliness in int64.c. This is all hideous; really I ought to be trying harder to find a 32-bit type rather than making a uint64 structure out of two potentially 64-bit unsigned longs. And really I ought to be using the C99 64-bit integers anyway if they're available. But this should do for the moment. check-in: cde23091b0 user: simon tags: trunk | |
| 07:48 | Tim Kosse points out that xfer_upload_gotpkt can return a negative value on error, so the check at the call site shouldn't test for exactly zero. check-in: 306307fcbb user: simon tags: trunk | |
|
2008-09-14
| ||
| 10:11 | Some Windows keymaps, it turns out, don't translate the key combination Ctrl + \ as the Ctrl-\ character. All of mine have, but at least one laptop turns out not to. Do so explicitly. check-in: 0d25c5708a user: simon tags: trunk | |
|
2008-09-09
| ||
| 15:36 | If we got a keyboard-interactive INFO_REQUEST with an "instruction" string but no actual prompts, we weren't displaying the former, which was wrong. We should now (although I haven't found a server to test it against). check-in: 223743ea02 user: jacob tags: trunk | |
|
2008-09-01
| ||
| 12:56 | Fix punctuation in the large print statements. In particular, one semicolon which crept in in r8138 was causing a lot of the "make install" implementation to be missing from Makefile.gtk. check-in: 7d7ed70323 user: simon tags: trunk | |
|
2008-08-31
| ||
| 16:45 | Good grief. When I originally wrote the local proxy code two years ago, I apparently caused all data received from local proxies to be unconditionally tagged as TCP Urgent. Most network backends ignore this, but it's critical to the Telnet backend, which will ignore all Urgent-marked data in the assumption that there's a SYNCH on its way that it should wait for. Nobody has noticed in two years, presumably meaning that nobody has ever tried to do Telnet over a local proxy in that time. check-in: 6610bc874d user: simon tags: trunk | |
| 14:18 | Colin Watson points out an apparently erroneous cast: Ssh_gss_name and gss_name_t are supposed to be congruent types, so a pointer to one should never be cast to a non-indirect instance of the other. check-in: 784bafd53c user: simon tags: trunk | |
| 12:12 | Minor code cleanup: I just happened to be looking at this file for other reasons and I noticed that the list of TELOPTs is given twice and hence needs to be kept in sync. Replace with my now-standard second-order-macro approach which allows the list to be maintained in only one place. check-in: c592900d31 user: simon tags: trunk | |
|
2008-08-20
| ||
| 17:21 | Fix for portfwd-addr-family: on Unix, when a tunnel is specified as "Auto" (rather than IPv4 or IPv6-only; this is the default), try to open up listening sockets on both address families, rather than (unhelpfully) just IPv6. (And don't open one if the other can't be bound, in a nod to CVE-2008-1483.) Based on a patch from Ben A L Jemmett. check-in: 25ce0f7899 user: jacob tags: trunk | |
|
2008-08-11
| ||
| 13:03 | James has made the URL syntax for http://svn.tartarus.org/ more sensible. Update the FAQ link to it. check-in: 8660ab09c4 user: simon tags: trunk | |
|
2008-08-10
| ||
| 09:28 | Link to pTerm, an SSH client for the iPhone that's apparently based on PuTTY. Attempts at damage limitation from the name similarity with pterm. Also try to refresh the ports section of the FAQ a bit. check-in: 36e8cf9a15 user: jacob tags: trunk | |
| 08:10 | Initial commit of GSSAPI Kerberos support. check-in: 483e1ff871 user: owen tags: trunk | |
|
2008-07-19
| ||
| 11:41 | www.winputty.com check-in: 9e6f8924f9 user: jacob tags: trunk | |
|
2008-07-18
| ||
| 16:39 | Another, subtly different version string for ssh2-bug-maxpkt, from Tim Kosse. check-in: 9b020a65b0 user: jacob tags: trunk | |
|
2008-07-17
| ||
| 12:01 | At least one version of gcc won't figure out that "clear" is never read uninitialised (because the only circumstance under which it isn't initialised is when "update" is FALSE, in which case it isn't read either). Placate it. check-in: dc3f5d00d0 user: simon tags: trunk | |
|
2008-07-11
| ||
| 14:24 | Replicate r8110 from PSFTP to PSCP, and various other minor patchery from Roger Picton. check-in: 85e8a600c9 user: jacob tags: trunk | |
|
2008-07-06
| ||
| 07:24 | Patch from Tim Kosse: check back->exitcode() in both loops on ssh_sftp_loop_iteration(), not just one. Fixes exiting on a negative response to the host key confirmation prompt on Windows (because winsftp.c doesn't have the equivalent of uxsftp.c's no_fds_ok); on Unix it worked already but gave a suboptimal error message, which is fixed too by this patch. check-in: 69902ee8df user: simon tags: trunk | |
| 07:11 | Patch from Tim Kosse to make PSFTP remember to close files on various error conditions. check-in: e85a6b6c59 user: simon tags: trunk | |
|
2008-06-29
| ||
| 04:14 | Patch from Aidan Kehoe to extend the Arabic shaping code to Urdu and Persian, by adding some additional Unicode code points to the shapetypes[] array. check-in: 7ade9c8573 user: simon tags: trunk | |
|
2008-06-15
| ||
| 08:26 | Cosmetic: use `appname' in more places, so that Unix PuTTYtel announces itself thus. check-in: 4de88a2ca4 user: jacob tags: trunk | |
| 07:39 | Exorcise beeps from the Colours pane in Gtk. The colour list box beeped at the user whenever it found that something other than exactly one colour was selected. This seems to happen implicitly in Gtk when the pane is changed. In Gtk1, this gave you a beep whenever you left the Colours dialog after having selected a colour from the list; in Gtk2, you additionally got a beep _every_ time you subsequently re-entered the Colours dialog (for reasons I haven't investigated). Windows was unaffected. Also, in Gtk (unlike Windows), it's possible for the user to go back to the state where no items in the list box are selected at all. For these reasons, stop beeping at the user, and instead blank the RGB edit boxes as a hint that edits to them would be futile. (Really we should be disabling them entirely, but the cross-platform edit controls aren't up to that yet.) check-in: 5f0e743092 user: jacob tags: trunk | |
|
2008-06-11
| ||
| 13:03 | Work around a bug in early versions of GTK (which I'm still forced to use, gah) in which the "model" argument to gtk_tree_selection_get_selected_rows() couldn't be NULL. check-in: 2154cd8b63 user: simon tags: trunk | |
|
2008-06-10
| ||
| 15:18 | Manfred Schwarb points out that scroll wheel support stopped working with the switch to GTK2. This turns out to be because, where GTK1 represented the scroll wheel as mouse buttons 4 and 5 and generated GdkEventButton when it was moved, GTK2 has moved wheel actions out into a new event type GdkEventScroll which we were not handling. Now we do, so scroll wheel support should be back in place. check-in: e42aacd383 user: simon tags: trunk | |
|
2008-06-07
| ||
| 11:30 | Manfred Schwarb also mentions that Alt+drag is captured by at least one well known window manager (KDE's); document that Shift+Alt+drag is worth trying as a workaround. check-in: cc7bc47f00 user: simon tags: trunk | |
| 11:25 | Manfred Schwarb points out that the README contains an outdated comment about GTK 2 not being supported. check-in: 00e544e03f user: simon tags: trunk | |
|
2008-06-05
| ||
| 12:06 | Add an include statement to Makefile.gtk that imports if present a file called Makefile.local. This means that if you're compiling on a platform that needs COMPAT definitions, you can put them in a local file and not have to type them on the command line every time. check-in: 8d02b7f8a5 user: simon tags: trunk | |
|
2008-06-04
| ||
| 18:12 | Bah, there's always something. Check in missing files. check-in: 76e3fc452e user: simon tags: trunk | |
| 18:05 | At last, merge the putty-gtk2 branch back into the trunk! check-in: 8d6cccb962 user: simon tags: trunk | |
|
2008-06-01
| ||
| 06:16 | Been meaning to do this for years: introduce a configuration option to manually tweak the host name and port number under which the SSH host key is read and written. I've put it in the cross-platform Connection panel. Partly under the flimsy pretext that other backends _can_ use it if they so wish (and in fact it overrides the host name for title-bar purposes in all network backends, though it has no other effect in anything but SSH); but mostly because the SSH panel was too full already :-) check-in: 8d27b54607 user: simon tags: trunk | |
|
2008-05-31
| ||
| 12:22 | Apparently Vista's printf-like functions don't support %n by default. We could explicitly re-enable %n, but we only use it in one place, so take the path of least resistance and remove that single instance. This stops dupvprintf() getting stuck in a loop (a behaviour that's caused by a workaround for a broken libc). <http://msdn.microsoft.com/en-us/library/ms175782(VS.80).aspx> check-in: d8ce60fff0 user: jacob tags: trunk | |
| 12:11 | Update for `win-randseed-location' fix. check-in: a8911a191e user: jacob tags: trunk | |
|
2008-05-28
| ||
| 14:23 | OS X Leopard, it turns out, has a new and exciting strategy for addressing X displays. Update PuTTY's display-name-to-Unix-socket- path translation code to cope with it, thus causing X forwarding to start working again on Leopard. check-in: c736a90b9d user: simon tags: trunk | |
|
2008-05-21
| ||
| 04:48 | Update the FAQ to state more explicitly that PuTTY contains no OpenSSL code. check-in: f4c171b73f user: simon tags: trunk | |
|
2008-04-26
| ||
| 13:45 | Mention Vista. check-in: 815056aeda user: jacob tags: trunk | |
|
2008-04-11
| ||
| 08:28 | Utterly hideous new approach to extracting install-sh from the autoconf/automake edifice, since my previous approach of guessing its pathname turns out not to work on at least one kind of system. check-in: 287896a14e user: simon tags: trunk | |
|
2008-04-05
| ||
| 07:26 | Fix misleading parameter name. check-in: 83d355fd62 user: jacob tags: trunk | |
|
2008-03-22
| ||
| 07:01 | For convenience of debugging, and perhaps some real convenience at some point too: introduce a bunch of environment variables which can override Unix PuTTY's usual idea of where to find its dotfiles. Setting PUTTYDIR moves the entire ~/.putty directory; setting PUTTYSESSIONS, PUTTYSSHHOSTKEYS or PUTTYRANDOMSEED move specific things within that directory. While I'm here, also be prepared to fall back to password file lookups if $HOME is undefined (though we still use $HOME in preference when it is defined, because that's polite and useful). Also, on general principles, tweak the make_filename() function prototype so it doesn't rely on fixed-size buffers. check-in: 7ecb4b4bc7 user: simon tags: trunk | |
|
2008-03-09
| ||
| 10:32 | Under OS X Leopard, we seem not to consistently get the Tab key translated for us. Be prepared to do it manually as a fallback. check-in: 8b0a99a8f7 user: simon tags: trunk | |
|
2008-03-07
| ||
| 12:30 | Fix a cursor positioning infelicity. The scenario: I start a small, say 80x24, pterm. I do some work in it, generating plenty of scrollback, and eventually I `less' a file. `less' switches to the alt screen. Then I want more vertical space to look at the file, so I enlarge the window to more like 80x60. When I quit `less' and switch back to the primary screen, some scrollback has been pulled down into the screen, as expected - but the saved _cursor position_ is still at line 24, not at the bottom of the new terminal where the prompt it goes with has moved to. Solution: term_size() should adjust the alt-screen saved cursor positions as well as the normal cursor position. (Curiously, the problem doesn't happen on my home Debian box, even without this fix. It happens on my RH9 box at work, though.) check-in: b77fd65b64 user: simon tags: trunk | |
|
2008-02-23
| ||
| 18:16 | It's a new year (and we've even made a code checkin). check-in: 52b6ccc5d2 user: jacob tags: trunk | |
| 17:56 | Attempt to clarify what the various IP version selection options do. check-in: fd98031fc4 user: jacob tags: trunk | |
| 16:00 | Tunnels: more explicit link from introductory to reference section. check-in: 5164efaa42 user: jacob tags: trunk | |
|
2008-02-21
| ||
| 03:18 | Aha, _that's_ why I've been periodically getting blocking-write problems using Unix PuTTY port forwarding. Sockets we create by connect() are immediately set into nonblocking mode by fcntl, but sockets we create by accept() were not. This trivial fix should help. check-in: 995c027a64 user: simon tags: trunk | |
|
2008-02-10
| ||
| 08:00 | Update web-SVN URL for kh2reg.py. check-in: 8a0301e741 user: jacob tags: trunk | |
|
2008-01-09
| ||
| 13:59 | Typo in winadj@ name. check-in: d30396f5da user: jacob tags: trunk | |
|
2007-12-20
| ||
| 05:03 | Make the text about our interest in new mirror sites significantly less fluffy and welcoming. check-in: b64dc037fe user: simon tags: trunk | |
|
2007-12-15
| ||
| 04:41 | r7804 neglected to add a help context #define to winhelp.h. check-in: d69d2d5b8a user: simon tags: trunk | |
|
2007-12-04
| ||
| 18:28 | Document maxpkt bug under garbled packet error message. check-in: dae6eba3a9 user: ben tags: trunk | |
| 18:02 | Add a new bug-compatibility mode that limits the window size we'll advertise so that the server can't exceed our maximum packet size. Enable it for "1.36_sshlib GlobalSCAPE" which apparently sends oversize packets otherwise. check-in: 9d67c9cd70 user: ben tags: trunk | |
|
2007-11-28
| ||
| 14:45 | Duplicate r7795 in uxnet.c. check-in: dfae3756d5 user: simon tags: trunk | |
|
2007-11-26
| ||
| 15:09 | sktree is indexed on the numeric value of the socket structure's underlying WinSock SOCKET. Therefore, if we plan to modify the SOCKET in a socket, we must remove it from the tree before doing so, and put it back again afterwards. Otherwise it'll violate the tree's sorting order, and sooner or later someone will try to find it and get back NULL. check-in: 410b9389c7 user: simon tags: trunk | |
|
2007-10-27
| ||
| 11:05 | Reset mouse reporting mode as part of resetting the terminal. check-in: ae3240f75a user: jacob tags: trunk | |
|
2007-10-19
| ||
| 16:47 | Marc TERRIER pointed out a couple of places that claim there is an X11 forwarding checkbox on the Tunnels panel, which hasn't been the case for a while. check-in: 58397930f6 user: jacob tags: trunk | |
|
2007-10-03
| ||
| 16:21 | Replace mentions of SSH-2 I-Ds with references to the corresponding RFCs. check-in: b858df6074 user: ben tags: trunk | |
| 16:06 | snew() always returns non-NULL, so checking if its return value is NULL is pointless. check-in: d6878a67b7 user: ben tags: trunk | |
| 16:04 | Factor out the increasingly complicated SSH-2 channel structure initialisation into its own function. Maintaining four copies was getting boring. check-in: 88fdee8c45 user: ben tags: trunk | |
| 15:29 | Take the code that does flow control in SSH-1, and make it work in SSH-2 as well. This won't be triggered in the usual case, but it's useful if the remote end ignores our window, or if we're in "simple" mode and setting the window far larger than is necessary. check-in: b54b9c2617 user: ben tags: trunk | |
|
2007-10-02
| ||
| 16:43 | More fixes to stdout and stderr. When the backlog on either clears, call the backend's unthrottle function. If we don't, we'll deadlock. While we're here, also pump as much data as possible out during each call to try_output(), rather than restricting ourselves to a single call to write(). check-in: 11f55e6d5e user: ben tags: trunk | |
| 16:07 | As far as I can see (at least in NetBSD) O_NONBLOCK and FIONBIO are equivalent, except that O_NONBLOCK is standardised and FIONBIO isn't. In consequence, replace our only use of FIONBIO with O_NONBLOCK. Inspired by Jonathan H N Chin, who had problems with this on Solaris. check-in: 8b7c139db9 user: ben tags: trunk | |
|
2007-10-01
| ||
| 16:11 | Rather than rejecting spurious SSH_MSG_CHANNEL_SUCCESSes, and ignoring spurious SSH_MSG_CHANNEL_FAILUREs, treat them as the protocol errors they are and forcibly disconnect. Inspired by recent traffic on comp.security.ssh. check-in: d719c8cbfb user: ben tags: trunk | |
|
2007-09-30
| ||
| 14:42 | Merge the looking up of channel numbers for SSH-2 channel messages into a single function which also handles checking that channels exist and are properly open. This should make PuTTY a little less tolerant of servers that send bogus messages. check-in: 6018bf7894 user: ben tags: trunk | |
| 09:14 | Set cfg.ssh_simple if there are no forwardings. check-in: 7d1a0e3e3f user: ben tags: trunk | |
| 07:45 | When writing session data to stdout or stderr, switch the relevant file descriptor into non-blocking mode temporarily, and correctly handle returns of EAGAIN from write(). This should fix unix-plink-stdout-nonblock, while avoiding EAGAIN turning up where we aren't expecting it. check-in: 5b2a52933a user: ben tags: trunk | |
|
2007-09-29
| ||
| 09:20 | Now that PuTTY is actually using names "@putty.projects.tartarus.org", it seems like a good idea to document them. check-in: 9785ec086d user: ben tags: trunk | |
| 07:27 | Add support for resetting the terminal modes on stderr to something sensible before printing error messages to it. This should fix the stair-stepping in Plink's progress messages. check-in: d7084e099b user: ben tags: trunk | |
|
2007-09-24
| ||
| 16:43 | My changes in r7738 (O_NONBLOCK for Unix Plink) were half-arsed, and completely broke interactive logins. The problem, or at least one of the problems, was that in interactive use stdin, stdout, and stderr tend to be the same file, so setting O_NONBLOCK on the latter two also sets it on the former. Thus, we need to cope with all of them being non-blocking. check-in: 182955cf8e user: ben tags: trunk | |
| 16:31 | Manifest constants are good. Introduce plink to STD{IN,OUT,ERR}_FILENO, TRUE, and FALSE. check-in: 2f675b3360 user: ben tags: trunk | |
| 14:26 | stdout and stderr should be made O_NONBLOCK so that we don't end up blocking the entire process because stdout is busy. Arguably, this shouldn't apply to stderr when we're printing our own error messages to it, but I'll leave that fix for another time. check-in: 1b815caadf user: ben tags: trunk | |
| 10:18 | Add support for automatically tuning the SSH-2 window size for decent performance. The theory behind this is fairly simple, though the implementation turns out to be a little trickier than it looks. The basic idea is that when the connection isn't being limited by our ability to process data, we want to ensure that the window size _as seen by the server_ never drops to zero. Measuring the server's view of the window size is done by arranging for it to acknowledge every SSH_MSG_CHANNEL_WINDOW_ADJUST, or rather an SSH_MSG_CHANNEL_REQUEST sent just before it. That way we can tell when it its outgoing data stream it received the window adjustment, and thus how small the server's view of the window got. At present, we only ever increase the window size. In theory, we could arrange to reduce it again if the server's view of it seemed to be persistently too large, but my experiments suggest that getting this right will be tricky. check-in: b331d3a1cc user: ben tags: trunk | |
|
2007-09-22
| ||
| 08:55 | Document "No supported authentication methods available", and make it clear that TIS/CryptoCard auth can be used for simple passwords too. check-in: 69609a5352 user: ben tags: trunk | |
|
2007-09-21
| ||
| 13:04 | Harvey Kwok observes that EnumPrinters() can sometimes fail to fill in its output parameters. Hence, we initialise them before calling it. check-in: 53371bfba6 user: simon tags: trunk | |
|
2007-09-20
| ||
| 16:33 | Don't try SSH-1 RSA authentication unless the server has advertised support for it. It's possible that this obsoletes BUG_CHOKES_ON_RSA. Certainly the one SSH-1.5-Cisco-1.25 server I found was correctly not advertising RSA auth. For now, leave it in, because I'm not feeling entirely confident. check-in: af3b8d40a9 user: ben tags: trunk | |
| 16:07 | In SSH-1, don't attempt password authentication unless the server has announced support for it. Instead exit with a fatal error (since password auth is our last resort). check-in: 04c6df563b user: ben tags: trunk | |
|
2007-09-03
| ||
| 15:52 | Avoid "unused variable" warning when NO_IPV6 defined. check-in: 82315782e0 user: ben tags: trunk | |
| 15:33 | Suggest another ttymode we could usefully set automatically. check-in: 925c2124be user: ben tags: trunk | |
| 14:09 | ssh->mainchan can be NULL; try not to segfault in that situation. check-in: 757a472316 user: simon tags: trunk | |
|
2007-08-07
| ||
| 17:02 | Correctly terminate nc target hostname when copying it. While we're here, use memcpy rather than strncpy when we've already worked out how much we're going to copy. check-in: 2e76e0d01d user: ben tags: trunk | |
|
2007-08-06
| ||
| 15:56 | Use "int" rather than "unsigned" as the argument to ssh2_set_window, not because it can ever be negative, but because we'll be comparing it with another int. This way, C's promotion rules don't bite us and we should stand slightly more chance of coping with broken servers that overrun our window. check-in: 126f2ed4f1 user: ben tags: trunk | |
|
2007-08-05
| ||
| 17:18 | May as well reference an RFC rather than an Internet Draft where we can. check-in: 24a823b68f user: ben tags: trunk | |
| 09:18 | Small window-handling tweaks. Set the default big window to 0x7fffffff bytes, and tweak ssh2_set_window() so it can cope with that. Also arrange to send a private channel message in simple mode to tell the server that it can safely use a large window too. check-in: 7975f8a4ec user: ben tags: trunk | |
|
2007-08-04
| ||
| 17:19 | Remember to clear ssh_simple when initialising config. check-in: 5a27b7939e user: ben tags: trunk | |
| 17:14 | In the file-transfer applications, which only ever use the main channel, arrange to set the SSH-2 window size to something very large. This prevents the connection stalling when the window fills up, and means that PSCP receives data _much_ faster. check-in: 0ce59e00b7 user: ben tags: trunk | |
| 14:16 | "CR implies LF" patch, based on one from Paul Coldrey. check-in: 7b3639872d user: ben tags: trunk | |
| 11:04 | Tweak window handling so that we send a window adjust if the window is half used up, rather than over half. That this increases the throughput of PSCP by 50% indicates just how broken our window handling is. check-in: 6d0869b7d6 user: ben tags: trunk | |
| 10:48 | When omitting session data from logs, don't omit the length of the session data string. This isn't strictly necessary, but it makes the logs easier to use. check-in: abde6881f2 user: ben tags: trunk | |
| 09:32 | Tweak to window handling: Keep the local window in a signed integer, and arrange to handle usefully the case where the server sends us more data than it's allowed to. There's no danger of overflow, since the maximum is OUR_V2_WINSIZE and the minimum is -OUR_V2_MAXPKT (at least if the server is nice). check-in: ad4c0912dd user: ben tags: trunk | |
|
2007-07-29
| ||
| 09:02 | Don't throw away data that we receive before we're ready for it. Just save it up for later. This should prevent hangs when talking to particularly enthusiastic servers. Thanks to JCA for tracking this bug down. check-in: 9eba45566e user: ben tags: trunk | |
|
2007-07-22
| ||
| 09:34 | Note lack of proxy auto-detection. check-in: 2f7560360f user: jacob tags: trunk | |
|
2007-07-21
| ||
| 16:39 | Split pkt_ctx into a separate enumeration for each of kex and userauth instead of a bitfield for both. This doesn't gain much here, but it should make it easier to make things other than logging use the context. check-in: 57e427127a user: ben tags: trunk | |
| 08:43 | Arrange that log_packet() isn't called for raw data logging if logctx is null. This allows us to send data in ssh_init(), albeit at the expense of its not being properly logged, so arrange to send the version string then if that's sensible, which should reduce the number of round-trips required to bring up an SSH-2 connection. check-in: 0c80a9a49b user: ben tags: trunk | |
|
2007-07-19
| ||
| 18:53 | Separate out the code for creating and sending SSH version strings so that in the SSH-2-only case, we can send it as soon as we connect rather than waiting for the server's one. Unfortunately, actually doing so will take a little more effort -- there are subtleties to do with having a working log context at the right moment that need to be sorted out. check-in: 3341a0fb7c user: ben tags: trunk | |
|
2007-07-18
| ||
| 17:54 | Update an outdated comment. check-in: bec140c810 user: ben tags: trunk | |
|
2007-07-01
| ||
| 10:47 | Implement Marcin Bulandra's suggestion of only automatically updating the port number in the GUI when the connection type is changed if the current port number is the standard one for the current protocol. It's not perfect, but it should make the common case of tabbing through the Session panel easier when starting non-SSH connections on odd ports. check-in: 7db7c53371 user: jacob tags: trunk | |
| 10:41 | Remove port number validation from Windows PuTTY -- it could cause unnecessary trouble with serial connections, and a port number of zero gets caught later anyway. check-in: 865a61887b user: jacob tags: trunk | |
|
2007-06-30
| ||
| 16:56 | Rationalise access to, and content of, backends[] array. Should be no significant change in behaviour. (Well, entering usernames containing commas on Plink's command line will be a little harder now.) check-in: 8b1d299a90 user: jacob tags: trunk | |
| 13:18 | Fix a couple of signedness compiler warnings, presumably due to me using a different version of gcc from before. check-in: 97c7062940 user: simon tags: trunk | |
| 13:17 | Tong Ho points out a missing ssh_pkt_ensure(). check-in: b0ce384018 user: simon tags: trunk | |
|
2007-05-29
| ||
| 15:06 | Index "MAC" a bit more thoroughly. check-in: 9369ed9aa3 user: jacob tags: trunk | |
| 15:01 | Explicitly spell out that "incorrect MAC" type errors can be caused by data corruption in the network. check-in: 48b54e0195 user: jacob tags: trunk | |
|
2007-05-22
| ||
| 13:37 | Retire the e-gold link. Nobody's used it in years; I honestly don't know how I'd go about retrieving money from them any more because my last exchange transaction went through a company who subsequently turned out to be dodgy; and a user points out that e-gold is in legal trouble, which suggests that avoiding it is probably wise. check-in: 7174c42845 user: simon tags: trunk | |
|
2007-05-09
| ||
| 16:35 | These days, you _can_ save a host name in Default Settings. check-in: 20f0201fe2 user: ben tags: trunk | |
|
2007-05-01
| ||
| 15:29 | Make bounds of automatic array constant. check-in: 30fcf1a05d user: ben tags: trunk | |
| 08:14 | Since r7496, Pageant needs sshsh256 to build (although it doesn't need SHA-256 to actually do its job). check-in: fc9bec3e7a user: jacob tags: trunk | |
| 07:26 | Reindent the section that was marked `XXX The lines below should be reindented before this is committed'. Unfortunately not before it was committed, but you can't have everything :-) check-in: ea1538e924 user: simon tags: trunk | |
|
2007-04-30
| ||
| 17:09 | Add support for RFC 4432 RSA key exchange, the patch for which has been lying around in my home directory for _years_. check-in: ba69804eab user: ben tags: trunk | |
| 15:09 | Create installations directories before installing into them, like GNU packages do. Problem reported by Manfred Pausch. check-in: e44d7df824 user: ben tags: trunk | |
|
2007-04-29
| ||
| 06:28 | Update version numbers for 0.60 release. check-in: 7614cbc865 user: simon tags: trunk | |
|
2007-04-22
| ||
| 09:39 | Avoid creating the Session/hostport control set in mid-session. check-in: ea6f078243 user: simon tags: trunk | |
| 03:56 | Capitalisation error. check-in: a43692e9ff user: simon tags: trunk | |
|
2007-04-10
| ||
| 16:46 | When we get an error writing to a local file, stop the download rather than pretending we just got -1 bytes. Not actually tested, but it looks pretty obvious. Bug reported by dking wang. check-in: 3af8c37407 user: ben tags: trunk | |
|
2007-04-02
| ||
| 03:44 | When the comments say `if we're in restart mode', the code in question should actually be conditional on restart mode! check-in: 1efe703050 user: simon tags: trunk | |
|
2007-03-27
| ||
| 14:10 | In the wake of r7415, let's have some better error reporting. Instead of passing -1 to its gotdata and sentdata callbacks on error, winhandl.c will now pass the negation of the Windows error number; and the Plink front end will now format that into an error message and pass it on to the user. check-in: 9fe9b33c47 user: simon tags: trunk | |
| 13:49 | Windows apparently sends ERROR_BROKEN_PIPE when a pipe we're reading from is closed normally from the writing end. This is ludicrous; if that situation isn't a natural EOF, _nothing_ is. So if we get that particular error, we pretend it's EOF. check-in: 293169b60e user: simon tags: trunk | |
| 13:16 | Patch from John Sullivan: process double-clicks in the session list box on button-up rather than button-down. The effect of this is that if a saved session is already selected in the list box and then you double-click it, it will open rather than beeping annoyingly. check-in: 7d216c3d83 user: simon tags: trunk | |
|
2007-03-19
| ||
| 07:05 | Fix a stupid one-character typo that was breaking 256-colour support on GTK. check-in: ee598e12ce user: ben tags: trunk | |
|
2007-03-13
| ||
| 09:43 | get_random_data() can return NULL (for instance, if we can't open /dev/random on Unix), yet cmdgen failed to deal with this. Spotted by Darren Tucker. check-in: 39d27e9f1d user: jacob tags: trunk | |
|
2007-02-28
| ||
| 17:31 | Process -t/-T later than -m, so that they can override -m's default behaviour of no pty. check-in: 6ecbbc4f02 user: jacob tags: trunk | |
| 15:30 | Prepend \\.\ to configured serial line string, to allow easy access to ports above COM9. check-in: 5260ceae34 user: jacob tags: trunk | |
|
2007-02-24
| ||
| 20:15 | Attempt to scrub -pw's argument in argv[], to make it less obvious. check-in: 20aafd8d77 user: jacob tags: trunk | |
| 18:51 | Delay evaluating the "-pw" option, so we can criticise the user's choice of backend, bailing out if anything other than SSH is in use. check-in: c4c12aecc8 user: jacob tags: trunk | |
| 18:50 | Since r7265, a user could not launch a PuTTY session to a specific host by simply specifying a hostname on the command line -- this would bring up the config dialog. Use a slightly more sophisticated notion of whether the user meant to launch a session. check-in: 3be54b7561 user: jacob tags: trunk | |
| 16:43 | "-noagent" and friends should be marked SAVEABLE, to ensure they're not clobbered by "-load". check-in: e7311276ec user: jacob tags: trunk | |
| 07:36 | Gareth pointed out yesterday that the Unix terminal front end treats BELL_DISABLED as BELL_DEFAULT. How embarrassing. check-in: 3e3c1216c5 user: simon tags: trunk | |
|
2007-02-18
| ||
| 16:05 | This reordering of the Unix Makefiles (requested by Michael Shigorin) allows use of -Wl,--as-needed. check-in: fee4847de2 user: jacob tags: trunk | |
| 13:56 | In controls where a list of entries is manipulated by Add/Remove buttons (SSH tunnels, TTY modes, and environment variables), when the Remove button is pressed, populate the edit controls from the entry that has just been deleted. Several users have requested this, as it makes editing an entry easier (read- modify-write) in the cases where order is unimportant, and also provides a degree of undo-ability. check-in: 847b1e85da user: jacob tags: trunk | |
| 13:50 | Allow dlg_listbox_index() to be called on multi-selection list boxes. check-in: 375dedc432 user: jacob tags: trunk | |
| 09:59 | Bring the OS X front end up to date with recent changes to the main code base. check-in: 2798a724a2 user: simon tags: trunk | |
| 08:02 | Ctrl-Break now sends a Break signal (previously it was equivalent to Ctrl-C). check-in: 65285954f0 user: jacob tags: trunk | |
|
2007-02-17
| ||
| 16:33 | Use preprocessor trickery to make the signal translation mechanism a little less hideous. The output of the preprocessor should be basically unchanged. check-in: 491721f229 user: ben tags: trunk | |
| 16:15 | ssh2_set_window checks whether the channel is being closed, so there's no need to check that before calling it. check-in: b91d8b1269 user: ben tags: trunk | |
| 11:44 | Unbreak "Duplicate session" on Windows, in a similar way to r7291. check-in: de46d1c4c8 user: jacob tags: trunk | |
|
2007-02-16
| ||
| 12:44 | r7265 broke the legacy `putty @sessionname' construction, which I wouldn't care about except for the fact that it's still used to implement the Saved Sessions menu item in PuTTY and Pageant. check-in: dc0247bf7b user: simon tags: trunk | |
|
2007-02-15
| ||
| 17:27 | LICENCE in the installer should have CP/M line endings. check-in: 5700f6f2ee user: jacob tags: trunk | |
|
2007-02-13
| ||
| 16:57 | It turns out that HH_INITIALIZE and HH_UNINITIALIZE are optional, and are for putting HTML Help into "single-threaded" mode. Furthermore, this requires extra work from the application (message pumping via HH_PRETRANSLATEMESSAGE). Thus, remove them and run Help in a secondary thread. This means that keyboard input into the Index and Search tabs now works. check-in: c55f4bfb2d user: jacob tags: trunk | |
|
2007-02-11
| ||
| 14:27 | Note that htmlhelp.h from HTML Help Workshop works perfectly well with Cygwin. check-in: 4919a4ebcc user: jacob tags: trunk | |
| 12:13 | chm.but contains $Id$ but didn't have a svn:keywords property. Fixed. check-in: a3b965711e user: jacob tags: trunk | |
| 12:09 | Typo. check-in: 80ed2bac99 user: jacob tags: trunk | |
|
2007-02-10
| ||
| 11:12 | Since we're now able to cope with Default Settings describing a launchable session without getting confused by it, we can relax the restriction on storing a host name in DS, which has attracted a steady stream of complaints over the past six or seven years. check-in: 81d5f6836c user: simon tags: trunk | |
| 11:02 | Avoid launching a session from the Default Settings, even if they do represent a launchable session, unless the user can be construed to have really meant it. This means: - starting up PuTTY when the Default Settings are launchable still brings up the config box, and you have to hit Open to actually launch that session - double-clicking on Default Settings from the config box will load them but not launch them. On the other hand: - explicitly loading the Default Settings on the command line using `-load' _does_ still launch them. check-in: e32793db99 user: simon tags: trunk | |
| 10:38 | More svn:ignores. I'm constantly amazed that I keep not having put in all the useful ones yet! check-in: dee2e1d2b4 user: simon tags: trunk | |
|
2007-02-08
| ||
| 12:53 | I've changed my mind about the PuTTY build script. It now delivers the release directory into a _subdirectory_ of the main build.out, and delivers the link maps and sign.sh alongside it. That simplifies both the nightly snapshot cron job (which now doesn't have to carefully move the maps out of the release directory or go looking in strange places for sign.sh) and my release procedure (for much the same reasons). check-in: 12ec555df0 user: simon tags: trunk | |
| 03:24 | The big payoff from bob (from my POV at least): the PuTTY release procedure is now a huge amount less painful. check-in: 48ac997cd1 user: simon tags: trunk | |
|
2007-02-06
| ||
| 16:39 | `installer.ico' doesn't fit into 8.3, so gets truncated to INSTALLE.ICO in the Windows source Zips. Rename to `puttyins.ico'. check-in: 0185769107 user: jacob tags: trunk | |
| 07:57 | When emitting SSH_MSG_IGNORE to protect against known-IV attacks on CBC, remember to put an empty string in it rather than sending a completely empty packet. This should help with those servers (notably RomSShell) that actually check the contents of SSH_MSG_IGNORE. check-in: bcc614254b user: ben tags: trunk | |
|
2007-02-05
| ||
| 14:14 | Ahem; other half of r7232... check-in: 6f2b9734d1 user: simon tags: trunk | |
| 14:04 | When calling TIOCSCTTY, it helps to pass it an fd that's still open, instead of one we closed two lines earlier. I apparently broke this in r7107. check-in: 4b39592852 user: simon tags: trunk | |
| 12:07 | Avoid passing modified SVN revision numbers (of the form 1234M) to parts of the versioning code which might not like them. As a result of this checkin, bob builds from modified SVN working copies will still announce themselves as revision nnnnM in the textual version strings, but their binary version in the Windows VERSIONINFO will now be 0.0.0.0. check-in: 0d6ba4a6e7 user: simon tags: trunk | |
| 09:01 | Fiddle further with .htaccess: add some $s on the ends of the regexps to stop them matching the wrong files. check-in: bf61139205 user: simon tags: trunk | |
| 08:23 | HTTP redirects for the variably-named signatures as well as their base files. (The signatures aren't actually _generated_ by bob, of course, but the redirects are harmless in their absence.) check-in: c4807a3220 user: simon tags: trunk | |
| 07:53 | Script to generate signatures on the various PuTTY build outputs. Saves me having to remember all the fiddly gpg arguments every time. Should be usable for both releases (with manual passphrase input) and snapshots (run automatically). check-in: f4a0252883 user: simon tags: trunk | |
| 06:49 | Fixes for snapshot building using bob. All of releases, snapshots and custom svn builds should now have appropriately named Unix source archives and installer binaries, plus .htaccess files providing redirects to them from totally standard filenames. I _think_ this now makes it feasible to switch the nightly builds to using bob. check-in: 4b5a9a3433 user: simon tags: trunk | |
| 02:02 | Be slightly more forgiving about the nature of SVN_REV; bob will be reliable at defining it, and it's useful to be able to pass `1234M'- type revisions in for testing purposes. check-in: 02d1e62321 user: simon tags: trunk | |
| 02:02 | Fix errors in $(Makeargs) which only occur when building development snapshots. check-in: c1d4b20b6e user: simon tags: trunk | |
|
2007-02-04
| ||
| 06:37 | PuTTY builds should save the map files. check-in: 1f0939b35e user: simon tags: trunk | |
| 06:30 | Version management updates for the new bob build script. There's now a fourth class of PuTTY version tags in addition to release, snapshot and unidentified: we now have `Custom build r1234', indicating a build made from that SVN revision in a context other than that of a dated snapshot. The build script generates these when it doesn't know what else to do; `unidentified builds' will now only occur when you run nmake from the command line. Also, the build script now generates sensible version data in the installer to match this. So I _think_ we should now be set to use bob to generate installer builds of the nightly snapshots, although of course I'll have to wait until tomorrow to test one. check-in: d9fefbf9f7 user: simon tags: trunk | |
| 06:12 | Document \\.\COM10 faff on Windows. References: <http://msdn2.microsoft.com/en-us/library/aa363858.aspx> (CreateFile() docs) describes the use of \\.\ <http://msdn2.microsoft.com/en-us/library/aa365247.aspx> ("Naming a File") lists the reserved filenames (COM1-COM9, LPT1-LPT9, CON, PRN, AUX, NUL) check-in: af7f556843 user: jacob tags: trunk | |
| 05:17 | Build script for PuTTY using bob. check-in: ff6b0c11d2 user: simon tags: trunk | |
|
2007-02-01
| ||
| 17:24 | Swap order of `Columns' and `Rows' in the config dialog, to make it consistent with sizetip.c (and more nebulous conventions). check-in: 64d5560d28 user: jacob tags: trunk | |
|
2007-01-31
| ||
| 06:30 | Colin Watson has fixed the disgusting icons on GTK1. His patch appears to merely fix the background colour (arranging for it to have transparency rather than being on some kind of default grey background), but it turns out to also fix the strange blurry behaviour I see in the GNOME Taskbar, for no very obvious reason. check-in: 11d422587d user: simon tags: trunk | |
|
2007-01-29
| ||
| 14:10 | In the cases where Setup asks to restart the computer, explain exactly why this is deemed necessary. check-in: 91c9da859e user: jacob tags: trunk | |
|
2007-01-26
| ||
| 13:43 | Switch round the order of CFLAGS and XFLAGS, so that the latter comes last on the compiler command line. This makes it easier to override the normal compile options (since conflicting command-line options usually follow a last-wins policy) in order to compile (for example) the Unix version -g -O0. check-in: 91bd9df8ab user: simon tags: trunk | |
| 08:11 | If I'd tested under Minefield before releasing, r7168 would have been committed before the release. Therefore, stick it on the checklist for next time. check-in: 221d1e2668 user: simon tags: trunk | |
| 08:06 | Kai Jourdan spotted a rather embarrassing double-free, and Minefield confirms that it's a real problem. check-in: be198c9138 user: simon tags: trunk | |
|
2007-01-24
| ||
| 18:14 | We may as well update the website icon to match the other new ones. check-in: 203b64aae3 user: jacob tags: trunk | |
| 15:43 | Post-release corrections to the checklist. check-in: c19f8fb422 user: simon tags: trunk | |
| 14:16 | Version number bumps, and associated changes, for the 0.59 release. check-in: c8cb2b479e user: simon tags: trunk | |
| 14:00 | Add .CHM to the ignore property. check-in: 2e1552cab6 user: simon tags: trunk | |
| 07:53 | The direct link between the terminal and the back end via term_provide_resize_fn() was not being broken when the back end was destroyed on session termination, causing resizing an inactive PuTTY to be a segfault hazard. check-in: f75921a917 user: simon tags: trunk | |
| 05:20 | faq-xpwontrun wants tweaking before the next release. check-in: 065773ed3e user: jacob tags: trunk | |
|
2007-01-23
| ||
| 08:12 | Mention XXX-REVIEW-BEFORE-RELEASE in the same place as XXX-REMOVE-BEFORE-RELEASE. check-in: 016bfdfedc user: jacob tags: trunk | |
| 05:38 | Mention the potential networked-CHM problem in the post-installer README. check-in: 84823feae7 user: simon tags: trunk | |
| 05:15 | Checklist updates for the upcoming release, mostly to do with the retirement of the Alpha build. check-in: e159ee7b68 user: simon tags: trunk | |
|
2007-01-22
| ||
| 12:02 | Add an icon for the PuTTY installer. Design concept (and noticing that Inno Setup had an option to specify an icon) by Jacob; detailed artwork and translation into Python by me. check-in: e5e89377a0 user: simon tags: trunk | |
| 08:04 | Improve error reporting. check-in: 7e73cf761a user: simon tags: trunk | |
|
2007-01-21
| ||
| 17:34 | Fix several bugs that stopped %proxyport from doing anything useful. check-in: 7ea0580824 user: jacob tags: trunk | |
| 17:34 | Fix Plink, the serial backend, and local-proxy support on Win98SE (at least), which have been broken since r6797. (At least some versions of Win9x are gratuitously picky about the arguments to CreateThread(), requiring lpThreadId not to be NULL.) check-in: 803dd5a810 user: jacob tags: trunk | |
|
2007-01-20
| ||
| 14:05 | Fix compiles on GCC 3.3, which doesn't know about assert(0); check-in: fe98cc1cc0 user: ben tags: trunk | |
| 10:14 | Mention more versions of Windows. (Not Vista, yet.) check-in: 869a65387f user: jacob tags: trunk | |
| 08:13 | Don't use C99 mid-block declarations and don't do arithmetic on void *. This helps with compilations on ancient Sun compilers. check-in: cb66fce8a1 user: ben tags: trunk | |
|
2007-01-19
| ||
| 08:33 | Move README.txt into windows subdir. It's specific to the Windows installer, so it seems unnecessarily confusing to have it in the top level of the source distribution alongside README. check-in: 1e87ebdb85 user: jacob tags: trunk | |
|
2007-01-17
| ||
| 12:38 | Flag user cancellation of authentication as a clean exit, so that it will close the window even in `close window only on clean exit' mode. Also, while I'm here, arrange a suitable exit code for "exit-signal". check-in: b95f1de6c0 user: simon tags: trunk | |
|
2007-01-16
| ||
| 15:32 | Update WINVER to 0x500 to avoid build failures from Jacob's FlashWindow changes. Also fiddle with the <multimon.h> include, which was subtly broken in turn by that. check-in: 93485461a3 user: simon tags: trunk | |
| 14:54 | At least, I have the technology to fix `beepind-win2k'. Tested on Win98, Win2K, and WinXP. check-in: d34719e103 user: jacob tags: trunk | |
| 13:26 | Add more ifdefs to make uxser.c compile on OS X. check-in: 194a6ad085 user: simon tags: trunk | |
| 12:48 | Fold up the `SSH' branch of the treeview by default; it's getting quite big and tends to hide the existence of the `Serial' config panel. This is implemented by folding up every branch of depth 2 or more, which with any luck might turn out to be general enough to carry over unchanged if other branches start expanding. Then again, we may have to fiddle with it again when that time comes; who knows? check-in: 0a82529a8f user: simon tags: trunk | |
|
2007-01-14
| ||
| 15:50 | I've just realised that the data-logging options only work in PuTTY proper. Document this. check-in: 7eaf06be84 user: jacob tags: trunk | |
| 07:44 | Remove the loops that close all open fds before running a subprocess. They were intended to make sure the child process didn't inherit anything embarrassing or inconvenient from us, such as the master end of its own pty, but now we instead do this by making sure to set all our own fds to not-FD_CLOEXEC on creation. This should fix Debian bug #357520. (This doesn't seem to work _quite_ right in uxproxy.c's invocation of a local proxy command: both ends of a GTK internal pipe end up in the child process's fd space. This appears to be another GTK 1 bug, inasmuch as it goes away when I build with Colin's preliminary GTK 2 patch; for the moment I think leaving that pipe lying around is probably less harmful than hampering the proxy process's ability to use extra fds by prior arrangement with PuTTY's parent process.) check-in: 5efc5c6876 user: simon tags: trunk | |
|
2007-01-12
| ||
| 17:35 | Experimental fix for `psftp-hang'. (Experimental only in that I haven't thought about it very hard; it's a plausible fix for the observed cause of the extreme CPU usage, being that we were asking to be notified of Windows messages and then not dealing with them, plausibly leading to a loop. Works for me, anyway.) check-in: 03548c6c2e user: jacob tags: trunk | |
| 14:00 | Remove redundant sentence. check-in: ed59f62f69 user: jacob tags: trunk | |
|
2007-01-09
| ||
| 18:54 | Miscellaneous updates. check-in: 3f94e0a489 user: jacob tags: trunk | |
| 18:46 | According to Frank Dijcks, this cast makes OpenWatcom happier. check-in: 75ed054d54 user: jacob tags: trunk | |
| 18:16 | Various SSH-related things were appearing in the PuTTYtel configuration dialog, probably since the addition of the serial backend. Use a more robust check for SSH support. check-in: b777e07a90 user: jacob tags: trunk | |
| 17:47 | MinGW needs an extra symbol _WIN32_IE defined to a particular value before it'll let you see an identifier (SHGFP_TYPE_CURRENT) referenced since r7082. (Actually, you need a pretty recent w32api before it's there at all.) Morally, this should be defined for all toolchains, not just MinGW/Cygwin, but I'll leave that to people who have those toolchains. <http://msdn2.microsoft.com/en-us/library/aa383745.aspx> Also add some other comments on our use of this API (since it's a horrible one that I suspect will come back and haunt us...) check-in: 01620f18e2 user: jacob tags: trunk | |
| 12:24 | Get rid of all the MSVC warnings. check-in: 1ef7a9aa1d user: simon tags: trunk | |
| 12:14 | Fix `puttygen-unix-perms': f_open(), PuTTY's wrapper on fopen, now takes a third argument which is TRUE if the file is being opened for writing and wants to be created in such a way that it's readable only to the owner. This is used when saving private keys. While I'm here, I also use this option when writing session logs, on the general principle that they probably contain _something_ sensitive. The new argument is only supported on Unix, for the moment. (I think writing owner-accessible-only files is the default on Windows.) check-in: 24342cc035 user: simon tags: trunk | |
| 12:05 | Fix `win-randseed-location': use SHGetFolderPath() to find the Application Data directory in preference to the old-fashioned attempt to find the user's home directory, and use the _local- machine_ Application Data directory in preference even to that. SHGetFolderPath() is called via GetProcAddress, so this degrades gracefully on old Windowses. (Tested myself on Win95.) As part of this change, we now search for a location for the seed file separately for reading and writing, so that installing the new PuTTY should cause a seamless migration as the old seed file is read from the old location and then a new one written to the new location. `putty -cleanup' attempts to delete the seed file from _all_ affected locations. Naturally, a user-specified seed file path in the Registry still takes priority over all other means of finding the location. check-in: 3d5197d71a user: simon tags: trunk | |
|
2007-01-08
| ||
| 13:38 | The remaining issue in `win-askappend-multi' appears to have been caused by the MessageBox() internal message loop eating WinSock FD_READ notifications, which then don't reappear afterwards because you have to explicitly prod a socket in order to get a repeat notification on it. Hence, here's a piece of infrastructure which seems to sort it out: a new winnet.c function called socket_reselect_all(), whose function is to go through all currently active sockets and re-run WSAAsyncSelect() on them, causing repeat notifications for anything we might have missed. I call this after every call to MessageBox(), and that seems to solve the problem. (The problem was actually masked in very recent revisions, probably by the reinstatement of pending_netevent in r7071. However, I don't believe that was a complete fix. This should be.) check-in: b73205c7e6 user: simon tags: trunk | |
| 12:54 | Have one call to from_backend() per call to do_telnet_read(), instead of the previous rate of one per character. In `Flush log file frequently' mode, the latter was causing excessive slowdown due to fflush()ing once per byte. check-in: fb422327bb user: simon tags: trunk | |
|
2007-01-07
| ||
| 08:30 | Fix ssh2-cisco-pw-pad by reverting r5122. However, I've kept the ability to easily re-enable the r5122 behaviour, in case we need to conditionally switch between the two at a later date. check-in: a5397b1479 user: simon tags: trunk | |
| 08:20 | Greater leniency when importing private key files: accept both CRLF and LF, and don't object if the final line of the key lacks a newline. Also, while I'm here, switch to using fgetline() throughout so as not to have to do nasty buffer-size ad-hockery. check-in: 88c81664c7 user: simon tags: trunk | |
| 06:40 | Reinstate RDB's pending_netevent mechanism, which was removed in r4906 in the process of adding the new timing code. It seems to have been what was previously preventing spew-lockup, and still seems to prevent it now I've put it back in. check-in: 5abeff92fa user: simon tags: trunk | |
| 04:17 | Tweak the icon script, and the generated icons, to more closely match the original icons. (Apparently I managed to introduce errors while transcribing the originals for detailed analysis.) While I'm at it, add the obviously useful `make install' target in icons/Makefile, and fix the svn:ignore property on the icons directory. check-in: ca7615f72f user: simon tags: trunk | |
|
2007-01-06
| ||
| 14:01 | I think this change to Recipe was accidentally omitted from r7064. check-in: 5eb27bf21e user: jacob tags: trunk | |
| 12:27 | No, I tell a lie: GTK 1 _does_ support icons, at least partially. Ooh. check-in: c1ecd0cf4d user: simon tags: trunk | |
| 12:15 | Shiny new script which constructs the various icons for the PuTTY suite. In a dramatic break with tradition, I'm actually checking in the resulting icon files as well as the script that generates them, because the script requires Python and ImageMagick and I don't think it's reasonable to require that much extra infrastructure on everyone checking out from Subversion. The new icons should be _almost_ indistinguishable from the old ones, at least at the 32x32 resolution. The immediately visible change is that all the icons now come in 16x16, 32x32 and 48x48 formats, in both 16 colours and monochrome, instead of an ad-hoc mixture of whichever ones I could be bothered to draw. The same code can also be adapted to generate icons for the GTK port (although icons for the running programs don't seem to be supported by GTK 1 - another reason to upgrade to GTK 2!). check-in: 18b8e361e6 user: simon tags: trunk | |
|
2007-01-05
| ||
| 12:43 | Francois L'Archeveque spotted that the variable `winsock2_module' only exists when compiling for IPv6, so we shouldn't try assigning to it the rest of the time. check-in: a08780c4f7 user: simon tags: trunk | |
|
2007-01-01
| ||
| 15:19 | It's a new year. check-in: de6aa71b1f user: jacob tags: trunk | |
|
2006-12-31
| ||
| 09:33 | Patch inspired by one from Daniel Silverstone in Debian bug #229232: We now have an option where a remote window title query returns a well-formed response containing the empty string. This should keep stop any server-side application that was expecting a response from hanging, while not permitting the response to be influenced by an attacker. We also retain the ability to stay schtum. The existing checkbox has thus grown into a set of radio buttons. I've changed the default to the "empty string" response, even in the backward- compatibility mode of loading old settings, which is a change in behaviour; any users who want the old behaviour back will have to explicitly select it. I think this is probably the Right Thing. (The only drawback I can think of is that an attacker could still potentially use the relevant fixed strings for mischief, but we already have other, similar reports.) check-in: 793e619dd8 user: jacob tags: trunk | |
|
2006-12-30
| ||
| 17:00 | Patch from Colin Watson intended to give a clean Unix compile with GCC 4. (Since we choose to compile with -Werror, this is particularly important.) I haven't yet checked that the resulting source actually compiles cleanly with GCC 4, hence not marking `gcc4-warnings' as fixed just yet. check-in: ef14243dce user: jacob tags: trunk | |
|
2006-12-29
| ||
| 10:38 | Use va_copy() where available. This should fix a segfault in vsnprintf() on AMD 64 Linux. (This has been sitting in my checkout for ages and hasn't obviously caused any trouble -- I think I was waiting to get round to trying it with VC6, which I haven't yet. There are some notes in comments on further tweaks that could be made.) check-in: f420fa4505 user: jacob tags: trunk | |
| 08:35 | Colin Watson points out that there was no need for me to write the custom Panels container widget for the PuTTY config box, since the perfectly standard GtkNotebook does the same job. Hence, let's remove Panels completely in favour of doing it the proper way. check-in: 6231db6b35 user: simon tags: trunk | |
|
2006-12-28
| ||
| 14:56 | Add a NO_HTMLHELP option, and enable it by default in the Cygwin Makefile, since even the latest version of w32api (3.6) shows no sign of HTMLHelp support. (This touches mkfiles.pl because that's where the details of what Cygwin doesn't support are kept currently. This may be deliberate, so I haven't changed it.) check-in: fed7b51bdd user: jacob tags: trunk | |
| 09:47 | I'm not sure why I added htmlhelp.lib to the PuTTY link lines in r7000. I was probably half asleep. Actually, it's completely unnecessary to bind to it at link time, because we load it at run time in order to continue working as before on Win95. So I'm removing it again. check-in: 869dac9697 user: simon tags: trunk | |
| 04:39 | Nearly forgot: add the .CHM to the PuTTY installer. This involves making the manual shortcut in the Start menu point to one or other of the two help files depending on the version of Windows; fortunately Inno Setup has no difficulty doing that. check-in: a81b70cd1c user: simon tags: trunk | |
| 04:38 | `make mostlyclean', to remove everything directly Halibut-generated but not the CHM. It'll come in useful during the release process. check-in: 0587b1c08a user: simon tags: trunk | |
|
2006-12-24
| ||
| 10:25 | Add some CHM-related stuff to the release checklist. Don't want to forget about it when the time comes. check-in: 468f29b0f0 user: simon tags: trunk | |
|
2006-12-23
| ||
| 03:04 | After discussion with Jeroen Massar, here's a patch (mostly his) which we think fixes the vista-ipv6 problem. check-in: 7406c4f48d user: simon tags: trunk | |
|
2006-12-19
| ||
| 04:28 | Minor style tweaks for the CHM. check-in: ddecf5104c user: simon tags: trunk | |
|
2006-12-17
| ||
| 11:46 | Sort out line-endings on new file. check-in: 2a01e4927d user: jacob tags: trunk | |
| 05:16 | Initial support for HTML Help. All the ad-hoc help-file finding code and various calls to WinHelp() have been centralised into a new file winhelp.c, which in turn has been modified to detect a .CHM file as well as .HLP and select between them as appropriate. It explicitly tries to load HHCTRL.OCX and use GetProcAddress, meaning that it _should_ still work correctly on pre-HTML-Help platforms, falling gracefully back to WinHelp, but although I tested this by temporarily renaming my own HHCTRL.OCX I haven't yet been able to test it on a real HTML-Help-free platform. Also in this checkin: a new .but file and docs makefile changes to make it convenient to build the sources for a .CHM. As yet, owing to limitations of Halibut's CHM support, I'm not able to write a .CHM directly, more's the pity. check-in: e861af5aa9 user: simon tags: trunk | |
|
2006-12-09
| ||
| 09:44 | Set FD_CLOEXEC in a little convenience function that does the right thing with F_GETFD and F_SETFD. check-in: 7af697811b user: ben tags: trunk | |
|
2006-11-28
| ||
| 15:51 | Correct an embarrassingly wrong comment. check-in: 3c8ea162b2 user: simon tags: trunk | |
|
2006-11-23
| ||
| 08:32 | I've just discovered that using the saved sessions menu from Unix PuTTY causes the child process to inherit a lot of socket fds from its parent, which is a pain if one of them then ends up holding open a listening socket which the parent was using for port forwarding after the parent itself is dead. Therefore, this checkin sprinkles FD_CLOEXEC throughout the Unix platform directory wherever there looks like being a long-lived fd. check-in: 1002c29630 user: simon tags: trunk | |
|
2006-11-18
| ||
| 09:10 | Reinstate as much of the Windows font-linking behaviour as I can easily manage, by adopting a hybrid approach to Unicode text display. The old approach of simply calling ExtTextOutW provided font linking without us having to lift a finger, but didn't do the right thing when it came to bidirectional or Arabic-shaped text. Arabeyes' replacement exact_textout() supported the latter, but turned out to break the former (with no warning from the Windows API documentation, so it's not their fault). So now I've got a second wrapper layer called general_textout(), which splits the input string into substrings based on bidi character class. Any character liable to cause bidi or shaping behaviour if fed straight to ExtTextOutW is instead fed through Arabeyes' exact_textout(), but the rest is fed straight to ExtTextOutW as it used to be. The effect appears to be that font linking is restored for all characters _except_ Arabic and other bidi scripts, which means in particular that we are no longer in a state of regression over 0.57. (0.57 would have done font linking on Arabic as well, but would also have misbidied it, so we've merely exchanged one failure mode for another slightly less harmful one in that situation.) check-in: 76941fa153 user: simon tags: trunk | |
|
2006-11-15
| ||
| 17:42 | Chris Boucher spotted that after "-nc" was added (r6823), cfg->ssh_nc_host was not always initialised, which could lead to spurious attempts to open a bogus channel (typically refused: "FATAL ERROR: Server refused to open a direct-tcpip channel"). Fixed. check-in: 8472f487a9 user: jacob tags: trunk | |
| 17:12 | (Config).remote_cmd2[512] was added in r1208, but it wasn't used then and isn't now, so presumably never has been. Remove. check-in: ba05ea5d22 user: jacob tags: trunk | |
| 06:56 | publickeyfile now an RFC check-in: 81eb81326b user: jacob tags: trunk | |
| 05:48 | Link to faq-cleanup from faq-settings. check-in: 5174b633ca user: jacob tags: trunk | |
|
2006-11-08
| ||
| 15:15 | There's been an increase in people posting non-SSH PuTTY-related questions to comp.security.ssh, posting queries that are clearly about PuTTY to newsgroups without actually mentioning PuTTY, and so on. They may have been directed there by this document :( Add a futile attempt to instil a sense of etiquette. check-in: eac1e0cf0e user: jacob tags: trunk | |
|
2006-11-07
| ||
| 18:55 | Administrivia: most SSH-2 specs are no longer drafts. check-in: a5a1de44c9 user: jacob tags: trunk | |
|
2006-10-31
| ||
| 10:59 | Tiny comment fix. check-in: 2a8b9e487d user: jacob tags: trunk | |
|
2006-10-22
| ||
| 15:19 | Spotted by Tim Kosse: we were returning an incorrect path in canonify() when we couldn't get any sense out of the server. check-in: a809c336dd user: jacob tags: trunk | |
| 14:51 | Minor semantic tweak to bug-compatibility modes: make BUG_NEEDS_SSH1_PLAIN_PASSWORD do exactly what it says on the tin, independent of whether BUG_CHOKES_ON_SSH1_IGNORE is set. This is invisible in the default configuration, as all servers marked as having the second bug have the first one too, but it would allow one to manually configure PuTTY to cope with a SSH-1 server that got upset by ignore messages during authentication, but was fine with their use as keepalives. check-in: d0102515d4 user: jacob tags: trunk | |
|
2006-10-03
| ||
| 12:16 | Disable a bunch of undesirable termios flags. ICRNL, in particular, is liable to have been set on serial ports previously used as terminal devices, and definitely wants not to be set on serial ports being used for callout. check-in: b632e7b72f user: simon tags: trunk | |
|
2006-10-02
| ||
| 15:52 | IXON and IXOFF belong in _iflag_, not cflag! While I'm here, be more reliable in clearing of RTS/CTS flags. check-in: 4a236e9e9f user: simon tags: trunk | |
|
2006-09-21
| ||
| 06:48 | Fix breakage of `Restart Session' in r6802. When restarting the session, we were clearing the new session_closed flag, but failing to clear must_close_session; with that set, the session was being opened but immediately re-closed. check-in: 856b30b874 user: simon tags: trunk | |
|
2006-09-15
| ||
| 09:44 | Note that the dynamic-tunnel proxy does not support UDP, since we get asked about this quite often. check-in: 83c7b4cc04 user: jacob tags: trunk | |
|
2006-09-05
| ||
| 17:08 | CSI 3 J now clears the scrollback, as in xterm. check-in: de3c767e85 user: jacob tags: trunk | |
| 16:41 | I seem to have slightly funted Plink's display of banners etc in r6437, oops. Fixed. check-in: 93bc517218 user: jacob tags: trunk | |
| 16:39 | Slight change to password expiry UI for the benefit of Cisco servers, which are as usual slightly odd. check-in: 2887f76e0f user: jacob tags: trunk | |
|
2006-09-03
| ||
| 09:31 | Support for an alternative mechanism for displaying wide characters under X: instead of having two separate fixed-width fonts one of which is twice the width of the other, you can instead have a single font in which some characters are twice as wide as others. This is implemented very simply: if you specify a wide font, it will be used for wide characters, and if you don't then the normal font will be used for wide characters (so they'd better _be_ wide in that font, or there'll be trouble). I got this idea from Jed, whose latest version supports UTF-8 and requires a font of this type. If there are going to be X fonts like that kicking around, there will doubtless be people who want to use them. check-in: 8007266fdc user: simon tags: trunk | |
| 07:55 | Add a mini-rant to the top comment explaining why threads are required. (I just tried getting rid of them; it worked fine for serial ports, but not for anything else. The Windows I/O API sucks.) check-in: b2cd494085 user: simon tags: trunk | |
|
2006-08-29
| ||
| 16:46 | Updates for today's changes: - changes to Logging panel - breaks in serial backend (Plus, completely unrelated, an index term entry related to port forwarding which seems to have been sitting around for ages, possibly waiting for me to think about `see also' index terms in Halibut.) check-in: 8f65282e5c user: jacob tags: trunk | |
| 14:07 | New logging mode, which records the exact bytes sent over the wire in an SSH connection _in addition_ to the decrypted packets. This will hopefully come in useful for debugging wire data corruption issues: you can strace the server, enable this mode in the client, and compare the sent and received data. I'd _like_ to have this mode also log Diffie-Hellman private exponents, session IDs, encryption and MAC keys, so that the resulting log file could be used to independently verify the correctness of all cryptographic operations performed by PuTTY. However, I haven't been able to convince myself that the security implications are acceptable. (It doesn't matter that this information would permit an attacker to decrypt the session, because the _already_ decrypted session is stored alongside it in the log file. And I'm not planning, under any circumstances, to log users' private keys. But gaining access to the log file while the session was still running would permit an attacker to _hijack_ the session, and that's the iffy bit.) check-in: 5b5937160f user: simon tags: trunk | |
| 13:50 | Explicitly closing logctx on various kinds of error exit means that the log file gets fclosed properly and the critical last few messages might be recoverable from the log file more often... check-in: b802bd4ac5 user: simon tags: trunk | |
| 13:32 | The Windows HANDLE type, despite being a `void *', does not actually behave like a pointer. In particular, the right thing to set a HANDLE to to indicate that it's invalid is INVALID_HANDLE_VALUE, not NULL. Crack down on sloppy use of NULL HANDLEs across all Windows code. (There is one oddity, which is that {Create,Open}FileMapping are documented to return a NULL HANDLE instead of INVALID_HANDLE_VALUE on failure. Shrug. If MS want to be inconsistent, I suppose I have to live with it.) check-in: 8c6438590b user: simon tags: trunk | |
| 13:20 | Support for sending serial breaks, in both the Windows and Unix serial backends. check-in: 92fba70907 user: simon tags: trunk | |
| 04:18 | Inhibit the Serial configuration panel in mid-session if the session isn't a serial one. In particular, this causes pterm not to fail an assertion if you select `Change Settings'. Ahem. check-in: 0f9a8f4bb2 user: simon tags: trunk | |
|
2006-08-28
| ||
| 14:09 | Apparently MsgWaitForMultipleObjects doesn't always return the values one might expect, which means that GetMessage() was occasionally blocking the process. That appears to be the last of the annoying data loss issues, so I think the Windows serial back end actually looks vaguely reliable now. Phew. check-in: b83e5fdf72 user: simon tags: trunk | |
| 13:36 | That OVERLAPPED fix seems to have made flow control useful as well (presumably Windows's serial buffer is actually _filling up_, causing an XOFF to be sent, now that my dodgy I/O code isn't causing it to leak). So I think I'll switch the default flow control to XON/XOFF, since it actually seems to do something now. check-in: eca76f8423 user: simon tags: trunk | |
| 13:27 | Eep! Next bit flag after 1 and 2 is _4_, not 3. Perhaps it's time I stopped coding and went and sat down quietly and tried not to touch anything for a while. check-in: 8e09b64fa5 user: simon tags: trunk | |
| 13:26 | Reading 4K at a time from a serial port turns out to be a bit unfriendly in an interactive session, because at 19200 baud it takes nearly two seconds to receive that much data, and as long as the data is flowing continuously Windows waits until it has a full buffer. So here's another annoying flag in the winhandl API, which restricts reads to length 1 so that serial output shows up as it appears. (I tried this yesterday, but without the OVERLAPPED fix in r6826 it behaved very erratically. It now seems solid.) check-in: da46d6cd48 user: simon tags: trunk | |
| 13:16 | Apparently it helps for an OVERLAPPED structure to contain a valid event handle. This seems to have fixed _some_, but not all, of the curious data loss issues in the Windows serial backend. check-in: 51fdd5e6b1 user: simon tags: trunk | |
| 12:47 | Minor tweaks to -nc: - log host:port in event log - add -nc to Plink usage message check-in: 6310d3d2a4 user: jacob tags: trunk | |
| 12:41 | Missed a couple of instances of cfg_launchable(). check-in: 451f6c4481 user: simon tags: trunk | |
| 10:12 | New command-line option in Plink (and PuTTY, though it's less useful there): `plink host -nc host2:port' causes the SSH connection's main channel to be replaced with a direct-tcpip connection to the specified destination. This feature is mainly designed for use as a local proxy: setting your local proxy command to `plink %proxyhost -nc %host:%port' lets you tunnel SSH over SSH with a minimum of fuss. Works on all platforms. check-in: 3171b7e2b9 user: simon tags: trunk | |
| 09:29 | Serial back end for Unix. Due to hardware limitations (no Linux box I own has both an X display and a working serial port) I have been unable to give this the full testing it deserves; I've managed to demonstrate the basic functionality of Unix Plink talking to a serial port, but I haven't been able to test the GTK front end. I have no reason to think it will fail, but I'll be more comfortable once somebody has actually tested it. check-in: d6cb32325e user: simon tags: trunk | |
| 08:08 | ... and here's the rest of r6820. Ahem. check-in: 7f2ba0608e user: simon tags: trunk | |
| 08:08 | Because not all OSes will support the same set of serial port options, here's a slight change to the API of ser_setup_config_box() to make it filter its parity and flow control options using platform-supplied bit masks. check-in: 55bede7fcd user: simon tags: trunk | |
| 06:33 | Fix small event log bug. check-in: 8f84a68c51 user: simon tags: trunk | |
| 06:32 | Forgot to initialise serial->bufsize to zero. check-in: 13da7f5aa9 user: simon tags: trunk | |
| 06:13 | Fix line endings (svn:eol-style properties and actual CRs). check-in: a85def1d7c user: simon tags: trunk | |
| 05:35 | Support for Windows PuTTY connecting straight to a local serial port in place of making a network connection. This has involved a couple of minor infrastructure changes: - New dlg_label_change() function in the dialog.h interface, which alters the label on a control. Only used, at present, to switch the Host Name and Port boxes into Serial Line and Speed, which means that any platform not implementing serial connections (i.e. currently all but Windows) does not need to actually do anything in this function. Yet. - New small piece of infrastructure: cfg_launchable() determines whether a Config structure describes a session ready to be launched. This was previously determined by seeing if it had a non-empty host name, but it has to check the serial line as well so there's a centralised function for it. I haven't gone through all front ends and arranged for this function to be used everywhere it needs to be; so far I've only checked Windows. - Similarly, cfg_dest() returns the destination of a connection (host name or serial line) in a text format suitable for putting into messages such as `Unable to connect to %s'. check-in: d160e39029 user: simon tags: trunk | |
|
2006-08-27
| ||
| 06:55 | Now that Local proxy type exists on both Unix and Windows, document it and associated stuff. check-in: 7771df9f07 user: jacob tags: trunk | |
| 05:00 | Grow some nasty warts on the side of winhandl.c, in preparation for a serial port backend: - In order to do simultaneous reading and writing on the same HANDLE, you must enable overlapped access and pass an OVERLAPPED structure to each ReadFile and WriteFile call. This would make sense if it were an optional thing I could do if I wanted to do the reading and writing in the same thread, but making it mandatory even if I'm doing them in _different_ threads is just annoying and arbitrary. - Serial ports occasionally return length 0 from ReadFile, for no particularly good reason. Fortunately serial ports also don't have a real EOF condition to speak of, so ignoring EOFs is actually a viable response in spite of sounding utterly gross. Hence, handle_{input,output}_new() now accept a flags parameter, which includes a flag to enable the OVERLAPPED bureaucracy and a flag to cause EOFs to be ignored on input handles. The current clients of winhandl.c do not use either of these. check-in: 57c8f4b305 user: simon tags: trunk | |
| 04:53 | Remove spurious #include. check-in: 2510e22900 user: simon tags: trunk | |
| 03:34 | Call console_provide_logctx _before_ initialising the back end, so that logevent() will go to stderr in -v mode even during the back end init function. check-in: ed9c98fc34 user: simon tags: trunk | |
| 03:03 | The `socket' function in the backends is only ever checked to see if it's NULL. Since we already have one back end (uxpty) which doesn't in fact talk to a network socket, and may well have more soon, I'm replacing this TCP/IP-centric function with a nice neutral `connected' function returning a boolean. Nothing else about its semantics has currently changed. check-in: 32affe9699 user: simon tags: trunk | |
|
2006-08-26
| ||
| 05:59 | It's critically important that the local proxy process should not inherit _our_ ends of its I/O pipes! Otherwise, closing our copy of those handles does not cause it to see EOF on its stdin, because it's holding the pipe open itself. check-in: 6f9311ed1e user: simon tags: trunk | |
| 05:58 | We _can_ have handle_throttle() called on defunct handles after all, so it should just do nothing rather than failing an assertion. check-in: 4c082609c7 user: simon tags: trunk | |
| 05:20 | ProxyCommand support for Windows, using the new winhandl.c API. Seems a bit clunky when I actually try to use it - not sure why - but I think all the actual functionality is there. check-in: d173edc72d user: simon tags: trunk | |
| 05:19 | Another bug fix: always set the busy flag when telling a subthread to do something, otherwise handle_get_events will forget to tell the front end to check for that subthread finishing. This applies even when we're only setting `busy' to tell the subthread to terminate! check-in: 1ec96c6c9f user: simon tags: trunk | |
| 05:18 | Cleanups to reduce dependency on Windows SFTP tools always having a real network socket. check-in: bb3428dea2 user: simon tags: trunk | |
| 05:17 | On cleanup, PSCP and PSFTP should explicitly check that the back end is still running rather than relying on ssh_sftp_loop_iteration() to return a bogus value. check-in: 3f40f538fa user: simon tags: trunk | |
| 05:04 | Start using notify_remote_exit() in the Windows front end, in place of the previous ad-hockery which depended on the return value from select_result() and hence which will not adapt sensibly to a world in which the primary session is something local rather than a network connection. check-in: ce96560653 user: simon tags: trunk | |
| 04:21 | Return a non-zero exit code in the event of a fatal-error SSH session termination. `Close window only on clean exit' was not working properly on Unix in the absence of this: notify_remote_exit() was being called and ssh_return_exitcode was returning zero, causing gtk_main_quit() to be called, _before_ connection_fatal() happened. check-in: da0b093aaa user: simon tags: trunk | |
| 03:37 | Always initialise the `addresses' field of a SockAddr to NULL, because it gets unconditionally sfree()d in sk_addr_free(). This just bit me when running under the MSVC debugger; not sure how it hasn't bitten anyone until now! check-in: 6d715080f0 user: simon tags: trunk | |
| 03:15 | Bug fix: since the input thread does not wait for the event object until _after_ its first read, we should not start by signalling that object in order to trigger the first read. Ahem. check-in: bb6d97d9b2 user: simon tags: trunk | |
| 02:41 | Small tweak to the new handle API: provide a `privdata' field in each handle structure, set on initialisation and readable by an API call. check-in: 620f32c917 user: simon tags: trunk | |
|
2006-08-25
| ||
| 17:10 | New piece of Windows infrastructure: winhandl.c takes Plink's thread-based approach to stdin and stdout, wraps it in a halfway sensible API, and makes it a globally available service across all network tools. There is no direct functionality enhancement from this checkin: winplink.c now talks to the new API instead of doing it all internally, but does nothing different as a result. However, this should lay the groundwork for several diverse pieces of work in future: pipe-based ProxyCommand on Windows, a serial port back end, and (hopefully) a pipe-based means of communicating with Pageant, which should have sensible blocking behaviour and hence permit asynchronous agent requests and decrypt-on-demand. check-in: 2156c9bb4b user: simon tags: trunk | |
|
2006-08-15
| ||
| 17:48 | Er, ahem. Other half of r6788. :-/ check-in: 0544b4b30e user: simon tags: trunk | |
| 15:29 | Shifts left and right by 32 were tripping a gcc warning (fatal with -Werror, of course) about shifting by more than the range of a data type. They only appeared in `if' statements testing sizeof(off_t), but gcc warns even when the code is unreachable. I've removed the conditional code (the general case should still work even on 32-bit machines), and hacked each shift by 32 into a pair of shifts by 16. Note that the gcc warning is not just a helpful indication that you may be using the wrong data type; it's actually pointing out ANSI- undefined behaviour in shifting a signed integer beyond the size of its type. check-in: 3771100200 user: simon tags: trunk | |
| 07:45 | Aha! At long last I've managed to reproduce the intermittent problem I've been having with the cursor sometimes restoring to the wrong place when screen(1) terminates. The offending sequence of escape sequences goes ESC 7 (save cursor), ESC [?47h (switch to alternate screen), ESC 7 (save cursor _again_), do some stuff, ESC 8 (restore cursor), run screen session for a bit, ESC [?47l (return to main screen), ESC 8 (restore cursor). The final ESC 8 is expected to restore the cursor to where it was saved by the initial ESC 7. Translation: the ESC 7 saved cursor state is part of the state we must swap out when switching to the alternate screen. In other words, we need to track _four_ cursor positions: active and saved, on each of main and alternate screen. Previously we were tracking only three. check-in: b6448111db user: simon tags: trunk | |
|
2006-08-12
| ||
| 10:20 | Large file support for psftp and pscp on both Windows and Unix. On Unix we set _FILE_OFFSET_BITS to 64 on the compiler command line (via mkfiles.pl), and on Windows we use SetFilePointer and GetFileSize to cope with 64-bit sizes where possible. Not tested on Win9x. check-in: ec84bb61b9 user: owen tags: trunk | |
|
2006-08-05
| ||
| 08:48 | Some extra int64 functions. check-in: 7655cbbe4f user: owen tags: trunk | |
|
2006-07-07
| ||
| 15:56 | Spell out more explicitly what needs to be done with vanilla VC6, since it seems to be becoming a FAQ. check-in: 704a813ad8 user: jacob tags: trunk | |
| 09:18 | Random Unix puttygen improvements highlighted by a post to comp.security.ssh: - fix diagnostic if keyfile and '-t' both specified - add diagnostic for generating a key but discarding the private part - document '-q' option check-in: 7eabb3b6ff user: jacob tags: trunk | |
|
2006-06-20
| ||
| 16:10 | In the config dialog, clip RGB values to [0..255] rather than reducing them mod 256. Document that the RGB values can be edited, and their range. check-in: c17530c621 user: jacob tags: trunk | |
|
2006-06-17
| ||
| 08:01 | When Unix PuTTYgen gives brief usage information, it should mention "--help"! check-in: b9a8213d57 user: jacob tags: trunk | |
| 07:02 | Robert Evans spotted that bignum_decimal() failed to cope with being given a zero input. This shouldn't matter for PuTTY, as these routines are only used in PuTTYgen, to output SSH-1 format public key exponents/moduli, which should be nonzero. check-in: fced7ed12c user: jacob tags: trunk | |
|
2006-06-16
| ||
| 08:09 | Update status of our PocketPC port. check-in: 4f52be62ba user: jacob tags: trunk | |
|
2006-06-11
| ||
| 07:56 | Do not send raw mouse events in the middle of a selection operation, even if we otherwise would (for instance, if Shift is released before the mouse button being used for selection). check-in: 2e768838ff user: jacob tags: trunk | |
|
2006-06-02
| ||
| 03:46 | Lionel Fourquaux offers this very simple patch to speed up SFTP, simply by upping the packet sizes and maximum in-flight packet count. Got to be worth a try, I think! check-in: 2cb25a46b3 user: simon tags: trunk | |
|
2006-05-26
| ||
| 07:45 | Make it clearer that `psftp -b' doesn't return to the interactive prompt if the script doesn't end with an explicit `quit'. check-in: 1bc1435899 user: simon tags: trunk | |
|
2006-05-21
| ||
| 07:20 | Port r6710 from puzzles: Patch from Ben Hutchings to prevent an ugly special case in &splitline in which a line is `split' into a line ending in a backslash followed by a completely blank line. check-in: d90992e39c user: jacob tags: trunk | |
|
2006-05-17
| ||
| 07:06 | Link to new `key-formats-natively' wishlist item from appropriate FAQ. check-in: 95c74259f2 user: jacob tags: trunk | |
|
2006-05-12
| ||
| 06:02 | pty_init should put _something_ into realhost check-in: d92da8d7b9 user: owen tags: trunk | |
|
2006-04-26
| ||
| 18:01 | sbcsgen.pl was giving different results on different machines in the case where two SBCS code points mapped to a single Unicode point. Changed so that by default it favours the lower SBCS code point. On ixion, this highlighted ambiguities in CS_MAC_THAI, CS_MAC_SYMBOL, and CS_VISCII. Guessed at a preference for the first two and added "sortpriority" directives. (No idea about VISCII.) check-in: 471812fd14 user: jacob tags: trunk | |
|
2006-04-23
| ||
| 13:26 | Sprinkle some header comments in various files in an attempt to explain what they're for. check-in: 7932188e51 user: jacob tags: trunk | |
|
2006-04-16
| ||
| 06:15 | PocketPuTTY website moved. check-in: fba210a48f user: jacob tags: trunk | |
|
2006-04-13
| ||
| 16:18 | Everywhere we print an fxp_error(), try to make it clear what we were trying to do at the time. (A lot of these say just "canonify:". This isn't a nice thing to show to a user, but I don't believe canonify() will ever return failure due to a server error, so users shouldn't actually see it, and it means we have a chance of tracing it if reported.) check-in: 5196811374 user: jacob tags: trunk | |
|
2006-04-07
| ||
| 16:42 | Remove login name prompt from PSFTP. ssh.c will prompt for a login name as required, and doing so in psftp.c before we've even made a connection is incorrect wrt `bypass-ssh2-userauth'. check-in: daea38aac5 user: jacob tags: trunk | |
|
2006-03-31
| ||
| 03:26 | ECCN / FIPS - we can't be arsed. check-in: f7fda73b4a user: owen tags: trunk | |
|
2006-03-29
| ||
| 11:55 | Update size when going from maximised to full screen. check-in: 23a1c6f75e user: owen tags: trunk | |
|
2006-03-15
| ||
| 08:31 | Explicitly add linking to our website to the "asking permission for things" section. Replace the FAQ text with a summary + link to feedback.but. check-in: f4f5824aac user: jacob tags: trunk | |
|
2006-03-14
| ||
| 16:01 | Fix minor memory leak. check-in: c92727f499 user: jacob tags: trunk | |
| 05:21 | Pageant docs didn't mention that you could load keys into an existing Pageant from the command line. check-in: b338eb7806 user: jacob tags: trunk | |
|
2006-03-12
| ||
| 16:17 | Equivalent of r6583 window-border palette-change fix for Gtk. check-in: 06ec31208c user: jacob tags: trunk | |
| 13:24 | Dimitry Andric spotted that DH gex with SHA-256 was overflowing a buffer. Fixed, and added paranoia so that this shouldn't happen again. check-in: ff7555e2cd user: jacob tags: trunk | |
| 09:39 | Log the hash used for DH kex (now there's a choice). check-in: 160e173d94 user: jacob tags: trunk | |
| 08:53 | Fix inadvertent O(N^2) loop within do_paint() which I just discovered when profiling IPBT. check-in: e368f18c9a user: simon tags: trunk | |
|
2006-03-08
| ||
| 17:16 | Flesh out `-m' caveats slightly. check-in: 309de1336c user: jacob tags: trunk | |
| 12:15 | Oh, and update the docs for NetHack keypad mode too. check-in: 91b0027b9e user: simon tags: trunk | |
| 12:10 | David Damerell tells me I should be using Ctrl-hjklyubn rather than Shift-hjklyubn for batch movement in NetHack, because they have subtly different behaviour within the game and the Ctrl-moves are more useful. Unfortunately, PuTTY's NetHack keypad mode doesn't support Ctrl-moves. Therefore, it does now :-) check-in: 396c775fc5 user: simon tags: trunk | |
|
2006-02-27
| ||
| 17:55 | Fix a memory leak in key generation. check-in: 898c8db8c4 user: jacob tags: trunk | |
| 16:30 | Change XXX-REMOVE-BEFORE-RELEASE to XXX-REVIEW-BEFORE-RELEASE to allow more general changes to be queued up. check-in: 8e223dda48 user: jacob tags: trunk | |
| 16:27 | Batch of miscellaneous tweaks to the Windows installer: - Now we've fixed `win-versioninfo', choose some sensible outcomes from the installer's comparisons of binary version numbers. Also, give the installer _itself_ a matching binary version. In particular, without this change, it would not have been possible to downgrade PuTTY -- it would have silently left the "newer" files in place. Now it will make some fuss, but permit it. - Also remove descriptions from shortcuts, on the grounds that the binaries have embedded descriptions now. (Although I've not checked whether those are actually visible in the Start Menu.) - At the request of various people (e.g., PJB), add flags so that if files are in use at the time the (un)installer is run, replacement is deferred to the next restart. (The user may be prompted to restart, which isn't ideal; see comments). This is supposed to make centrally-pushed silent upgrades more robust. - Note some limitations of the installer. check-in: ae70784090 user: jacob tags: trunk | |
|
2006-02-25
| ||
| 08:13 | Alain Guibert points out that palette changes weren't causing the space between the text area and the window border to be refreshed. Fixed on Windows. Gtk still has a similar problem. check-in: e9756c0bd4 user: jacob tags: trunk | |
|
2006-02-23
| ||
| 07:38 | Do proper select-for-write on ptys. Currently, pasting a sufficiently large string into pterm in any circumstances in which it's echoed back to the terminal will cause a deadlock once the pty's write buffer fills up. check-in: f7782e75bd user: simon tags: trunk | |
|
2006-02-20
| ||
| 13:54 | Alain Guibert points out that ESC]P sequences were erroneously accepting 'G' as a hex digit. (The _first_ digit of the sequence intentionally goes up further than F, but the remaining ones shouldn't have.) check-in: 14247e5d72 user: simon tags: trunk | |
|
2006-02-19
| ||
| 16:37 | Daniel Meidlinger points out a redundant test :-) check-in: f643efedb0 user: simon tags: trunk | |
| 08:59 | Fix `restart-reset-terminal': terminal now restored to a sensible state when reusing a window to restart a session. check-in: a9fe99c1ad user: jacob tags: trunk | |
| 08:10 | Add/tweak a couple of comments. check-in: 4c1dee7ad6 user: jacob tags: trunk | |
| 06:52 | Fix up documentation/usage messages for r6572. check-in: 82ba29d738 user: jacob tags: trunk | |
| 06:05 | Introduce a new checkbox and command-line option to inhibit use of Pageant for local authentication. (This is a `don't use Pageant for authentication at session startup' button rather than a `pretend Pageant doesn't exist' button: that is, agent forwarding is independent of this option.) check-in: 312df617cd user: simon tags: trunk | |
|
2006-02-18
| ||
| 19:37 | At last, a fix for `large-clipboard-crash'. A growable buffer was only being grown for actual text, not for newlines or trailing NULs. A large run of empty lines could lead to newlines overflowing the buffer (> 100 should be enough to guarantee this on all platforms, after the initial 5k size of the buffer). Also fix some valgrind in the same area (was probably harmless), and a memory leak introduced by the RTF attribute pasting. check-in: 8c998698f4 user: jacob tags: trunk | |
| 16:30 | Pointer type correction in term_clrsb(). (Harmless, as it happens.) check-in: d02651ccc3 user: jacob tags: trunk | |
|
2006-02-14
| ||
| 07:14 | Typo in r6555 spotted by Daniel Meidlinger. check-in: 43fb61a310 user: jacob tags: trunk | |
|
2006-02-13
| ||
| 16:25 | RTF pasting now includes colours and style. Say so. check-in: a6e9490e62 user: owen tags: trunk | |
| 16:18 | Preserve more attributes of text copied as RTF. Thanks to Stephen Balousek. check-in: e24538d25e user: owen tags: trunk | |
|
2006-02-11
| ||
| 13:10 | Don Heap spotted that our heuristics for dealing with IPv6 literal addresses in the PSCP command line were bogus, giving "remote to remote not supported" errors with filenames like '[].txt'. Made the heuristic less bogus. check-in: 5f8792b0e9 user: jacob tags: trunk | |
| 12:29 | Failure to connect to a Unix-domain socket could cause a segfault. Fixed. check-in: 54ac07652e user: jacob tags: trunk | |
| 12:00 | A zero-length return from platform_get_x_display() (for instance, a zero-length DISPLAY variable in the environment) caused an assertion failure when X11 forwarding was attempted. Fixed (now treated the same as a NULL return, e.g., a non-existent DISPLAY variable). check-in: 2c5a04569e user: jacob tags: trunk | |
|
2006-02-10
| ||
| 14:57 | Oops. Since r6546, old "Special Commands" menus weren't being deleted from the context menu, and they tended to pile up. check-in: 963c5c5a87 user: jacob tags: trunk | |
|
2006-02-09
| ||
| 17:06 | Users of Virtual Dimension are reporting that the "Close" menu item and button tend to get disabled on login. After a suggestion by "Tkil", change the way we handle the specials menu to be robust against the window menu being externally modified. check-in: a7b8c32f79 user: jacob tags: trunk | |
|
2006-01-27
| ||
| 14:49 | Somewhat gruesome tweak to use SetClassLongPtr where available and degrade nicely elsewhere, which should fix `win64' _properly_. Tested on recent-ish MinGW (with GetWindowLongPtr but not GetClassLongPtr), and VC++ 6.0 with a recent SDK, but not with vanilla VC++. check-in: 13b73ead40 user: jacob tags: trunk | |
|
2006-01-25
| ||
| 16:46 | Don't explicitly open the logfile on startup; it'll automatically be opened by logwrite() as necessary. Should fix win-askappend-multi. check-in: 5f02ab2b2a user: owen tags: trunk | |
|
2006-01-24
| ||
| 05:08 | s/PuTTY/PuTTYgen/ in two places. check-in: 571d5eb05b user: jacob tags: trunk | |
|
2006-01-11
| ||
| 17:43 | VC6 doesn't define LONG_PTR check-in: 9a3790cdaa user: owen tags: trunk | |
| 17:42 | Configurable font quality on Windows. (Together with a little bit of macro stuff to cope with the inadequacy of VC++ 6 headers.) check-in: 051f4cfea4 user: owen tags: trunk | |
|
2006-01-10
| ||
| 14:02 | Fix zero-rows-cols-crash check-in: 04df52bdb7 user: owen tags: trunk | |
|
2006-01-08
| ||
| 12:18 | It's a new year. check-in: f65373bcc5 user: jacob tags: trunk | |
|
2005-12-18
| ||
| 11:05 | Update status of this library wrt other variants. check-in: ba7f6a48ca user: jacob tags: trunk | |
| 10:57 | CP866 is popular and small. Add it to both the general and PuTTY implementations of libcharset, since we've had at least one request for it in PuTTY. check-in: 20a3f339c5 user: jacob tags: trunk | |
|
2005-12-16
| ||
| 10:43 | Mention compile-time directives and where they're documented. check-in: 196244c2fc user: jacob tags: trunk | |
|
2005-12-09
| ||
| 14:04 | A few small changes to make the PuTTY source base more usable as a basis for other terminal-involving applications: a stub implementation of the printing interface, an additional function in notiming.c, and also I've renamed the front-end function beep() to do_beep() so as not to clash with beep() in lib[n]curses. check-in: bc74216dab user: simon tags: trunk | |
|
2005-12-07
| ||
| 12:01 | Apparently some SSH servers object to our claiming port-forwarded connections to be from IP "client-side-connection". Claiming "0.0.0.0" instead seems to work. Spotted by Brant Thomsen. check-in: 0cf3aea3e9 user: jacob tags: trunk | |
|
2005-12-06
| ||
| 18:24 | Institutional failure to memset() things pointed at rather than pointers. Things should now be zeroed and memory not leaked. Spotted by Brant Thomsen. check-in: 2a7f73d55f user: jacob tags: trunk | |
| 17:18 | Improvements from Spyros Blanas to the MSVC optimisations of r6469: don't do a function call for each divmod, and don't rely on details of the calling convention. (This didn't actually make any measurable difference to runtime in any of my tests, but we may as well keep it as it's neater.) Also document some general caveats of the divmod macro. check-in: f970409cb9 user: jacob tags: trunk | |
|
2005-12-01
| ||
| 10:41 | SSH-2 rekey bug compatibility setting wasn't being saved (but _was_ being loaded). check-in: 5af5c8f9a9 user: jacob tags: trunk | |
|
2005-11-23
| ||
| 15:26 | An MSVC version of the 16->32-bit bignum optimisation, derived from part of a patch by Lionel Fourquaux. Seems to be about a factor of four improvement (see wishlist item for details). I don't claim to understand this in detail, so I can't vouch for its correctness, but it didn't fall over immediately. It also produces some compiler warnings, unfortunately. check-in: eefc5f979e user: jacob tags: trunk | |
|
2005-11-14
| ||
| 03:41 | Missing close parenthesis. check-in: 61c0f1e69b user: jacob tags: trunk | |
|
2005-11-13
| ||
| 10:06 | r6437 broke the case where Pageant is running but contains no SSH-2 keys that the SSH-2 server is happy with. Fixed, and since I'm here, fix `pubkeyfile-and-pageant' as well (for SSH-1 and SSH-2). Also, in SSH-2, we now reexamine "methods that can continue" for every Pageant key offer, which is technically more correct although it seems unlikely that it was causing any real problems. (It's not entirely pretty, but neither was the old code. We could probably do with some sort of abstraction for public/private keys to avoid carting lots of fiddly bits of data around.) check-in: 5ecfcce6b6 user: jacob tags: trunk | |
| 06:13 | Oops, used \I where I meant \i. I think this is the only instance. check-in: 6c6d33724f user: jacob tags: trunk | |
|
2005-11-09
| ||
| 17:19 | I broke the ability to cope with multiple consecutive k-i INFO_REQUESTS in r6437. This ought to be better (but I can't test that case). check-in: eefac6dd49 user: jacob tags: trunk | |
|
2005-11-04
| ||
| 17:31 | Fix minor hiccup in SSH-1 p-k auth. check-in: b965b38836 user: jacob tags: trunk | |
| 17:21 | Placate a compiler warning introduced in r6437. (I forgot we usually compile with -Werror on Unix, oops.) check-in: 992b547918 user: jacob tags: trunk | |
| 08:49 | Fix for `ssh2-password-expiry'. Success case tested. (Much easier since r6437, and actually works to boot.) check-in: 5033091888 user: jacob tags: trunk | |
|
2005-11-02
| ||
| 17:15 | When a userpass interaction has finished, make sure the 'prompts' structure is safe for re-use. check-in: be2be716fa user: jacob tags: trunk | |
|
2005-10-31
| ||
| 16:43 | (do_ssh2_authconn_state).method is redundant since r6437; remove. Remove FIXMEs from .type assignments, as they look fine. check-in: ad1b2a4de9 user: jacob tags: trunk | |
|
2005-10-30
| ||
| 14:24 | Revamp SSH authentication code so that user interaction is more abstracted out; replace loops structured around a single interaction per loop with less tortuous code (fixes: `ki-multiprompt-crash', `ssh1-bad-passphrase-crash'; makes `ssh2-password-expiry' and `proxy-password-prompt' easier). The new interaction abstraction has a lot of fields that are unused in the current code (things like window captions); this is groundwork for `gui-auth'. However, ssh.c still writes directly to stderr; that may want to be fixed. In the GUI apps, user interaction is moved to terminal.c. This should make it easier to fix things like UTF-8 username entry, although I haven't attempted to do so. Also, control character filtering can be tailored to be appropriate for individual front-ends; so far I don't promise anything other than not having made it any worse. I've tried to test this fairly exhaustively (although Mac stuff is untested, as usual). It all seems to basically work, but I bet there are new bugs. (One I know about is that you can no longer make the PuTTY window go away with a ^D at the password prompt; this should be fixed.) check-in: fa1347493a user: jacob tags: trunk | |
| 13:13 | In Unix PuTTYgen, existing SSH-1 key comments were coming out as "(null)" for operations not performing decryption (e.g., "puttygen rsa1.ppk -L") (A use for r6434 -- wasn't expecting that.) check-in: 58ea3b5986 user: jacob tags: trunk | |
| 10:28 | Fixes to make r6434 actually useful. check-in: 406df7aa52 user: jacob tags: trunk | |
| 09:16 | Allow rsakey_pubblob() to return the key comment. (like r6433 but for SSH-1) check-in: 4c5674dd5b user: jacob tags: trunk | |
| 07:42 | Add ability for ssh2_userkey_loadpub() to return the key comment. (Not actually used currently, but it makes life easier for a patch I'm working on.) check-in: d7d7b6fd7d user: jacob tags: trunk | |
|
2005-10-26
| ||
| 17:18 | Fix an error I introduced into SSH packet logging in r5642: some outgoing packets over about 256 bytes would be logged with 12 bytes of preceding garbage. (But the rest of the packet was logged in its entirety. This holds for packets where (int(len/256)%2)==1, with an appropriate fudge factor applied to `len'.) Ahem. check-in: b982e695f5 user: jacob tags: trunk | |
| 15:58 | Comment explaining back->sendok() semantics from Simon. check-in: b4c7e4df9c user: jacob tags: trunk | |
|
2005-10-13
| ||
| 17:51 | Tweak to r6392: spell "MAC" thus. check-in: bdcb94cf82 user: jacob tags: trunk | |
| 16:56 | Fix 256-colours-match-xterm, based on 256colres.pl from xterm-205. Largely untested -- may not even compile on Windows. check-in: a232015fce user: ben tags: trunk | |
| 16:51 | Make SSH_MSG_DISCONNECT reasons less scary (without removing useful content). check-in: 9ad31acae5 user: ben tags: trunk | |
|
2005-10-08
| ||
| 04:09 | Failed to call set_erase_char() after processing SCO colour sequences. check-in: adc8ae5a8d user: simon tags: trunk | |
|
2005-10-04
| ||
| 09:13 | `win-versioninfo': all builds of all Windows binaries now contain a VERSIONINFO resource. The versioning scheme is described in windows/version.rc2. Some .rc files are now #included in others. In order to keep MSVC project files working, these have been renamed to .rc2; there may exist a better solution. (This checkin also includes the documentation tweak missing from r6367.) Testing performed: - MinGW (cross-compiler): works - VC nmake: works (tested with VC6) - VC project files: builds with VERSIONINFO resource (no VER variable though) - Borland: an old version of this patch was tested with it and more or less worked, except that some of the VERSIONINFO strings were apparently not terminated properly. Not attempted to work around this. - LCC: not tested. Some fixes are in there from the last time we tried this, but then the build ultimately failed and I haven't tried this since that was fixed. - Dev-C++: untested. (Haven't done anything special.) - Unix Gtk/autoconf Makefiles work as before. check-in: 5532c18e9c user: jacob tags: trunk | |
|
2005-10-03
| ||
| 06:38 | UTF-8 processing was discarding a valid character which interrupted an otherwise legal sequence, if that valid character was the last thing in a term_out() run. Spotted by Egmont Koblinger. check-in: 39c08b8213 user: simon tags: trunk | |
| 05:24 | thinko check-in: d91314ba65 user: jacob tags: trunk | |
|
2005-10-01
| ||
| 07:36 | Split out SVN_REV from SNAPSHOT define. This is to support `win-versioninfo', but since Simon's made the corresponding change to the build process, this bit needs checking in now (it should be harmless). (The documentation in Recipe is slightly out of date; with luck I'll be checking in `win-versioninfo' changes soon, and I can't be bothered to disentangle the relevant changes in the meantime.) check-in: dcf7ae3503 user: jacob tags: trunk | |
| 06:40 | A swathe of new FAQ questions, along the general theme of `will you sign something for us / give us assurances / give us indemnity'. check-in: 9777e6fa6a user: simon tags: trunk | |
|
2005-09-30
| ||
| 09:54 | Mention SSH-2 rekeys in the keepalive section. check-in: 0d7e423c6b user: jacob tags: trunk | |
|
2005-09-24
| ||
| 13:33 | A first stab at guidance for those lost souls who email us asking for login names and/or passwords. Feel free to hack. (NB, renumbers a section of the FAQ.) check-in: 7038b14bd0 user: jacob tags: trunk | |
| 11:17 | Add DEVCPP to svn:ignore. check-in: b710d22e3a user: jacob tags: trunk | |
|
2005-09-21
| ||
| 12:09 | dlg_listbox_select() now scrolls the list box to ensure that the item it's just selected is visible. check-in: 720b8943c1 user: simon tags: trunk | |
| 09:53 | Platform-independent support for zooming around session list by typing in the session name box. Thwarted on Unix by GTK not automatically scrolling the listbox to the selected item, but we can fix that in the platform-specific side later. check-in: 4cda7c3ac3 user: owen tags: trunk | |
|
2005-09-19
| ||
| 09:34 | Mention that sessions can be saved from "Change Settings" in using.but. check-in: 3cf3850e9e user: jacob tags: trunk | |
|
2005-09-14
| ||
| 06:00 | AIX 5.1 has <utmpx.h> but no updwtmpx(). Treat the latter as a reason to OMIT_UTMP. Reported by Mike Protts. check-in: 3a73862242 user: ben tags: trunk | |
| 05:53 | Some systems (HP-UX) don't yet have <sys/select.h>, putting select() in <sys/time.h>. Cope with this. Where <sys/select.h> _is_ available, though, use it (since it's where POSIX puts select()). Problem reported by Mike Protts. check-in: 36d43f446e user: ben tags: trunk | |
|
2005-09-13
| ||
| 15:17 | When asked to malloc zero bytes, malloc one byte instead. This ensures that we get a unique pointer rather than NULL (which ANSI C otherwise permits). Problem pointed out by Mike Protts. check-in: b6d6e37138 user: ben tags: trunk | |
| 15:08 | The ANSI-C constant FILENAME_MAX is ludicrously small on some systems. Use the POSIX PATH_MAX if it exists, and fall back to 1024 otherwise. We should really allocate filenames dynamically if PATH_MAX isn't defined. check-in: fb2701ef6e user: ben tags: trunk | |
| 14:57 | Some hosts don't have TIOCSCTTY. Don't try to use it on them. Patch from Mike Protts. check-in: 6da243c989 user: ben tags: trunk | |
| 14:54 | A couple of places in sk_newlistener were using AF_INET6 even with NO_IPV6. Correct them. check-in: 42d139827f user: ben tags: trunk | |
| 14:24 | Nothing seems to use the "int64" type, and it apparently causes conflicts on some platform, so remove it. Thanks to Mike Protts for spotting this. check-in: e2a5a2ad4f user: ben tags: trunk | |
| 09:12 | Apparently the OS X port is stalled. check-in: 4aa5e07e85 user: jacob tags: trunk | |
|
2005-09-12
| ||
| 10:45 | When the first element in a preference list was unrecognised, PuTTY would hang when reading it because strtok() kept getting the full list passed in. Fix this, and add an assert() for an assumption documented in a comment while I'm in the area. check-in: 28904047ca user: ben tags: trunk | |
|
2005-09-10
| ||
| 12:36 | Mention relationship between terminal types, keyboard sequences, and termcap/terminfo. Suggested by Joachim Durchholz. check-in: 219982d46f user: ben tags: trunk | |
| 11:19 | Implement hmac-sha1-96. It's RECOMMENDED in the current transport draft, and we don't have any strong reason not to implement it, for all that it's rather pointless. check-in: 07e74def32 user: ben tags: trunk | |
|
2005-09-04
| ||
| 09:53 | Add support for diffie-hellman-group-exchange-sha256. Tested against a patched OpenSSH server. This is controlled by the same user settings as diffie-hellman-group-exchange-sha1, which may not be optimal, especially given that they're both referred to as dh-gex-sha1 in saved sessions. check-in: fac0751ecf user: ben tags: trunk | |
|
2005-09-03
| ||
| 12:29 | Mention xp-wont-run. check-in: 38dc422cce user: ben tags: trunk | |
| 12:03 | Now that my arcfour-fixes draft has been approved by the IESG, use the IANA-assigned names for its modes. check-in: 2269771ab3 user: ben tags: trunk | |
| 08:41 | Restructure things so that a single entry in the KEX preference list can correspond to multiple SSH-2 KEX algorithms. We already do the equivalent for cipher algorithms. check-in: 45f5ec7b5a user: ben tags: trunk | |
|
2005-09-02
| ||
| 05:51 | Check ssh->v2_session_id_len _after_ assigning to it. check-in: 2b3bb67839 user: jacob tags: trunk | |
|
2005-08-31
| ||
| 17:32 | Don't bother compiling SHA-256 for now -- I need to think a bit before I use it. check-in: 0677815069 user: ben tags: trunk | |
| 16:48 | SHA-256 implementation, for use in future KEX algorithms, in particular diffie-hellman-group-exchange-sha256, which the last DHGEX draft defined. Code lifted from Simon's "crypto" directory, with changes to make it look more like sshsh512.c. check-in: b428aa5211 user: ben tags: trunk | |
| 15:43 | Add infrastructure for supporting multiple hashes in key exchange. Nothing very surprising here. check-in: 5e476e7efc user: ben tags: trunk | |
| 14:11 | Rename ssh_md5 and ssh_sha1 to ssh_hmac_md5 and ssh_hmac_sha1 respectively. This is to make room for a hash abstraction that's likely to want to use ssh_sha1, at least. check-in: 9afc7f5e94 user: ben tags: trunk | |
| 11:14 | Explicitly note that "remote command" semantics typically involve the server closing the connection after the command has executed. check-in: 91d028877b user: jacob tags: trunk | |
|
2005-08-30
| ||
| 17:39 | Further progress in the direction of variable exchange hashes -- stash the outgoing KEXINIT, and only start generating the exchange hash once we know which KEX method we're using. check-in: d49b79d098 user: ben tags: trunk | |
| 15:38 | Beginnings of support for multiple exchange hashes in SSH-2: rather than storing a SHA-1 hash of the client and server version strings, store the strings themselves so we can feed them through the appropriate hash when we know what it is. check-in: 9636ea0134 user: ben tags: trunk | |
|
2005-08-28
| ||
| 19:34 | More versions of WeOnlyDo have the rekey bug (but they've fixed it now). check-in: fb8ffeb494 user: jacob tags: trunk | |
|
2005-08-26
| ||
| 16:17 | I think this should fix various problems with queued incoming data not being processed and incoming data being processed out of order, which I suspect is the cause of `ssh1-fwd-trouble' as noted by Gevan Dutton. I'm not able to test the failure case, but it doesn't seem to have obviously broken anything in the cases I have tested, anyway. check-in: 8579417a41 user: jacob tags: trunk | |
|
2005-08-22
| ||
| 15:37 | Add support for generating project files for use with Dev-C++, contributed by Florian Gaab. check-in: 493c4ae935 user: ben tags: trunk | |
| 15:07 | Florian Gaab reports that freeSSHd 1.0.7, which claims a "softwareversion" of "WeOnlyDo-1.2.6", mishandles repeat key exchange. Add it to the list. check-in: 6c5b1e2063 user: ben tags: trunk | |
|
2005-08-10
| ||
| 13:31 | Ben Rudiak-Gould points out that we should be using WM_APP as the base for our app-private window messages, which is considerably higher than the WM_XUSER we arbitrarily chose. (This isn't known to be causing any actual problems. The fix seems not to have obviously broken anything.) check-in: 8b2c50dec0 user: jacob tags: trunk | |
|
2005-07-24
| ||
| 08:46 | draft-ietf-secsh-transport-24 says that only "SSH-" at the start of a line marks a version string. It's a bit vague about the definition of a line, but I think it's reasonable to assume that they'll end with LF. Change do_ssh_init() to ignore "SSH-" anywhere else. This makes the existing state machine overkill, so replace it with something a little more readable. check-in: 4a58cc8686 user: ben tags: trunk | |
|
2005-07-17
| ||
| 08:37 | This is getting silly; nearly 25% of our mirrors are now in the US. Discourage more strongly mirrors in well-served areas in the Feedback section. Also, duplicate that text on the Mirrors page, along with a request to tell us the country (since lots of people still don't). check-in: e1741520c4 user: jacob tags: trunk | |
|
2005-07-15
| ||
| 06:47 | Patch from Colin Watson: we were sometimes passing stack storage to putenv(), which is Bad (in his case, it caused TERM to end up unset). Use malloc()'d storage instead. check-in: d0c607099f user: jacob tags: trunk | |
|
2005-07-06
| ||
| 13:26 | Missing argument in MALLOC_LOG version of snrealloc() macro. check-in: 1d9695328f user: jacob tags: trunk | |
|
2005-07-05
| ||
| 16:15 | Piers Finlayson reports that "DigiSSH_2.0" chokes (in a new and exciting manner) on rekeys. Add it to the list. check-in: 1ccaca97e2 user: ben tags: trunk | |
|
2005-06-29
| ||
| 13:20 | Try to make it slightly clearer that TIS/CryptoCard are generic, since SSH:TDGv2 seems to think that TIS is only relevant to its original application (whose name eludes me at the moment). check-in: 8e13e4c6c5 user: jacob tags: trunk | |
|
2005-06-25
| ||
| 16:43 | In local-to-remote copies, abort if fxp_init() fails, rather than ploughing on and trying to transfer files, which caused a null-pointer deference. Thanks to Fernando Najera for reporting the bug. check-in: 632f55a867 user: ben tags: trunk | |
| 14:22 | Quote session name in command line example for robustness. check-in: 9aacb09159 user: ben tags: trunk | |
|
2005-06-22
| ||
| 05:00 | Improve IPA representation of "PuTTY", as suggested by John Lunney. My rationale (as mailed to him): I think you're right. I got the pronunciation there from the second edition of the OED and my Collins dictionary at home, both of which believe that "pretty" is pronounced /'prItI/, but, at least to me, those two vowels are different. Both of them think that /i/ doesn't occur in English words, the vowel in "beat" being /i:/. The third edition of the OED, though, adds /i/ as an English vowel in its pronunciation guide, with "happy" as an example of its use. I'll update the FAQ following your suggestion. check-in: e7afd4150b user: ben tags: trunk | |
|
2005-06-21
| ||
| 15:13 | Fix an apparently-harmless error spotted by Ben Rudiak-Gould: do_ssh2_transport() was returning the wrong value for rekeys after the first. This apparent error was introduced in r4901, but we can't see any reason for the change to have been made. If it turns out to be a mistake to revert it, I'm sure we'll find out. Here for posterity is Simon's analysis: | A lot of the return values from do_ssh2_transport appear to be vestigial: it | used to be that a zero return from do_ssh2_transport meant it had handled the | packet internally, and a 1 return meant the packet wasn't a transport-layer | one and needed to pass on to do_ssh2_authconn. Since r4901, however, the | layer discrimination is done based on the message type ranges, and the only | remaining dependency on the return value from do_ssh2_transport is a special | case in ssh2_protocol which detects the first 1 return and makes the | initialisation call to do_ssh2_authconn. | | Therefore, the gratuitous 1 return on every key exchange as a result of the | confusing if statement is simply ignored in ssh2_protocol (because | ssh->protocol_initial_phase_done is already TRUE). So the remaining question | was, why does the _lack_ of that 1 return not cause a problem, if the if's | sense is indeed reversed? | | The answer is that 1 is still returned, just not by the crReturn inside the | if statement. It's returned by the next crReturn, just after | wait_for_rekey(). Which suggests that in fact, the if statement has the | correct sense, but the crReturn inside it has the wrong value - it should be | returning _zero_, to indicate that every NEWKEYS after the first one is | uninteresting to the authconn code, and on the very first run through that | doesn't happen and the NEWKEYS gets all the way to the crReturn(1) later on. check-in: d4dea14f10 user: jacob tags: trunk | |
|
2005-06-20
| ||
| 08:56 | Make the sanity-checks on the size of incoming packets much stricter. We now enforce the following: * Packet must have at least one byte of payload and four bytes of padding. * Total packet length must not exceed 35000 bytes compressed. * Total packet length including length field must be a multiple of cipher block size (or eight bytes). The feebleness of our old checks was noticed by Ben Rudiak-Gould. check-in: be45b43e16 user: ben tags: trunk | |
|
2005-06-19
| ||
| 09:17 | A major purpose of PuTTY's memory-allocation functions is to succeed or die trying, so there's no need to check their return values for NULL. Spotted by Ben Rudiak-Gould. check-in: 3e02f6edcc user: ben tags: trunk | |
| 08:57 | Move comment about ECHO and LINE input modes to a more sensible position. Spotted by Ben Rudiak-Gould. check-in: da08d99cd3 user: ben tags: trunk | |
|
2005-06-14
| ||
| 18:20 | Detection of "auth-agent@openssh.com" was too liberal. Spotted by Ben Rudiak-Gould. check-in: a3dc59e09b user: jacob tags: trunk | |
| 09:48 | We should wait until the Rlogin server indicates that it's happy to receive window-size notifications before we send them. This clears up a problem where the first password entry always failed. check-in: c05a45ef27 user: jacob tags: trunk | |
|
2005-06-09
| ||
| 05:05 | "SanskritFritz" points out that digits at the start of RTF pastes were being eaten by the trailing "\f0" on the RTF preamble. The RTF spec (1.0 and 1.6) suggests that adding a space should defuse this situation and be otherwise harmless, and it works for me (Win98). check-in: 072eafc3e1 user: jacob tags: trunk | |
|
2005-06-08
| ||
| 10:14 | Double-free on mkdir error, spotted by Brian Hartsock. check-in: 9021e82fe5 user: jacob tags: trunk | |
|
2005-05-28
| ||
| 08:46 | Remove a couple of mistaken references to Telnet in comments. check-in: 28407185fe user: jacob tags: trunk | |
|
2005-05-23
| ||
| 07:41 | Miscellaneous updates: - note Visual Foo version requirements - note which things are done for you in our source snapshots - other tweaks check-in: 2dbc3b7826 user: jacob tags: trunk | |
|
2005-05-21
| ||
| 11:49 | Factor out all local SSH disconnections into a new function ssh_disconnect(), and add the ability to treat a local disconnection as "unclean" -- notably, if we can't agree any authentication methods to even try; someone was complaining that the PuTTY window by default just disappears for no apparent reason in this circumstance. Also, use appropriate disconnect codes for those SSH2_MSG_DISCONNECT messages that we do send. I don't think I've seriously broken any user-visible behaviour, but the way that connection-close distinctions are transmitted to the front-end is shaky (or so it seems to me), so there may be non-ideal changes on some platforms. check-in: e6f29ea107 user: jacob tags: trunk | |
| 10:09 | Fix documentation of NO_MANIFESTS (oops). check-in: 35009b643f user: jacob tags: trunk | |
| 09:35 | Add NO_MANIFESTS option to Windows build, as the manifests apparently cause trouble for 64-bit Windows builds. Also flag the build flags that only apply to Windows. check-in: aa0be5f249 user: jacob tags: trunk | |
| 09:16 | Use {Get,Set}WindowLongPtr() instead of {Get,Set}WindowLong() for compatibility with 64-bit Windows. Untested on 64-bit, but it doesn't appear to have broken anything on 32-bit. check-in: 15d9ec22cf user: jacob tags: trunk | |
|
2005-05-20
| ||
| 16:52 | Minor memory leak spotted by Mikhail Kruk. check-in: 5209b23aff user: jacob tags: trunk | |
|
2005-05-16
| ||
| 09:41 | connection_fatal() should be called after ssh_closing() and other accesses to `ssh', since it potentially frees it and potentially doesn't return. Only affected a couple of rare circumstances. check-in: cd4cc612f7 user: jacob tags: trunk | |
| 03:31 | Don't try and set up reconfigured port-forwardings if the connection isn't yet ready for them. Spotted by Martin Dushkov. check-in: 669d063475 user: jacob tags: trunk | |
|
2005-05-14
| ||
| 17:01 | Add experimental support for detecting BREAK on input and propagating it as TS_BRK on output. This is tested to the extent that other data survive the escaping performed by PARMRK, at least on my system. Actual passing on of BREAK is as-yet untested. check-in: 31fdd0bdc3 user: ben tags: trunk | |
|
2005-05-12
| ||
| 10:09 | Use the packet dispatch table to handle USERAUTH_BANNER messages, which should hopefully solve `drop-banner'. I haven't been able to test the failure case, but the behaviour with OpenSSH appears no worse. check-in: c9089df91e user: jacob tags: trunk | |
|
2005-05-09
| ||
| 16:01 | s/public/private/ spotted by Walter Cleverly. check-in: df8d67a25f user: jacob tags: trunk | |
| 08:27 | Make Makefile.gtk build again on Linux (assume <utmpx.h>). check-in: 298c44bd3c user: jacob tags: trunk | |
|
2005-05-08
| ||
| 06:47 | Fix what looks like a cut-and-paste error which was stopping Unix Plink building on MacOS X. check-in: dc62c29d04 user: simon tags: trunk | |
|
2005-05-06
| ||
| 05:19 | Add `install-sh' to svn:ignore check-in: fca1b751a6 user: jacob tags: trunk | |
|
2005-05-05
| ||
| 17:47 | Correct apparent misspelling of `SIOCATMARK'. check-in: 67721ff97e user: jacob tags: trunk | |
| 17:37 | Implement `bypass-ssh2-userauth', since from correspondence it sounds like there are servers which could in principle operate in this mode, although I don't know if any do in practice. (Hence, I haven't been able to test it.) check-in: a2682d011b user: jacob tags: trunk | |
|
2005-04-30
| ||
| 12:08 | Also blank X authentication data when using SSH-1, and add a comment explaining why this may not be sufficient to hide it. check-in: 56037102d7 user: ben tags: trunk | |
| 11:13 | X11 authentication data are generally sensitive, so blank them from packet logs by default. check-in: 8f27c860e7 user: ben tags: trunk | |
| 09:30 | Unlike the AES and Blowfish code, our implementations of the various DES modes of operation all took separate source and destination pointers. They were never called with those pointers different, though, so reduce them to a single pointer like everything else uses. check-in: 4b8dc4839b user: ben tags: trunk | |
| 09:26 | Fix stupid typo that probably utterly broke SSH-1 support, and caused compiles with GCC to fail. Not sure how it survived long enough to test, really. check-in: 4e40e32ee3 user: ben tags: trunk | |
|
2005-04-28
| ||
| 04:03 | Minimally document 3des-ctr and blowfish-ctr. check-in: 1e5ba103b5 user: ben tags: trunk | |
| 04:00 | Remove comment explaining why 3des-ctr is disabled, since it isn't. check-in: 74d9dcaee0 user: ben tags: trunk | |
| 03:56 | Enable blowfish-ctr by default. It's been tested and found working. Thanks to der Mouse for help with the testing. check-in: e62ce290e8 user: ben tags: trunk | |
| 03:24 | In blowfish-ctr mode, increment the counter in the correct order. Thanks to der Mouse for spotting the same error in my 3des-ctr implementation. check-in: c78d18dbc7 user: ben tags: trunk | |
| 03:21 | Fix two more stupid bugs in 3des-ctr: - We were using the first word of each block of keystream block twice and the second not at all. - We were incrementing the high-order word of the counter after every block rather than the low-order one. With those fixed, our 3des-ctr implementation interoperates with the one in Moussh. Thanks to der Mouse for his help with the testing. 3des-ctr is now enabled by default. check-in: 7b4c6bab9d user: ben tags: trunk | |
|
2005-04-27
| ||
| 16:42 | On monochrome displays, display the cursor in reverse video so that it's visible on reversed out text. This only applies to active block cursors for now. check-in: 58f5d476a6 user: ben tags: trunk | |
| 16:22 | Tiny manual CSE of previous commit. check-in: aa5d4730d1 user: ben tags: trunk | |
| 16:09 | On 1bpp displays, ignore colour attributes. This makes pterm minimally useful there, though (e.g.) switching to using reverse video for the cursor would probably also help. Displays with other silly depths (e.g. 2bpp) aren't catered for, but I suspect they're rare in the X world. check-in: cda1056254 user: ben tags: trunk | |
| 15:30 | Make palette changes use "best match" colours too. check-in: 462bcba811 user: ben tags: trunk | |
| 10:42 | Rather than checking for <sys/sockio.h>, just include it if our other attempts at finding SIOCATMARK have failed. This removes one of our Autoconf tests, which is always nice. check-in: 50cf1a835f user: ben tags: trunk | |
| 07:39 | Use the correct key order for 3des-ctr. check-in: 7e9c015fce user: ben tags: trunk | |
| 06:10 | In SSH-2 mode, PuTTY wasn't sending KEXINIT until it had received one from the server, which led to stalemate if the server did the same. PuTTY now sends KEXINIT proactively as soon as it's worked out that it's talking SSH-2. check-in: d33118fd29 user: ben tags: trunk | |
| 03:09 | mkunxarc.sh is supposed to be silent, so I'm having it discard the stderr output from mkauto.sh. (I debated discarding it within mkauto.sh itself, but decided against it.) check-in: cfbe481de8 user: simon tags: trunk | |
|
2005-04-25
| ||
| 19:03 | According to the termio(7I) on Solaris, OLCUC is overridden by OPOST, so we should send it with the SSH terminal modes too. check-in: 44c192333d user: ben tags: trunk | |
| 18:57 | Squash OPOST locally when we're not in line-editing mode, and propagate the other output flags with SSH. This means that when I log into a remote system using Plink and then run "stty -onlcr" I get the expected stair-stepping. check-in: 58f646b407 user: ben tags: trunk | |
| 18:28 | Use pututxline() in place of pututline(), since the former is standardised by X/Open and actually seems to be more common (NetBSD has it). Also use updwtmpx() rather than directly writing to the wtmpx file, though more for reasons of aesthetics than anything practical. check-in: abb9ed30fb user: ben tags: trunk | |
| 17:46 | Ask GDK to give us reasonable approximations if it can't get precisely the colours we asked it for. This means that I can run pterm on an 8-bit PseudoColor display even if I have another program running. check-in: dfe65fbf2d user: ben tags: trunk | |
| 13:51 | Check for <sys/sockio.h> and include it in uxnet.c if we find it. It's necessary on Solaris if we want to use SIOCATMARK. Using sockatmark() might be preferable, but despite being notionally standard it's missing on Solaris 9 and Mac OS X 10.3.9, whereas everyone seems to have SIOCATMARK somewhere. check-in: 373ac11e25 user: ben tags: trunk | |
| 12:21 | uxpty.c uses non-X/Open facilities (notably strsignal()), so don't define _XOPEN_SOURCE. We do still need _GNU_SOURCE in order to get grantpt() on GNU systems. This allows uxpty.c to compile on NetBSD. check-in: 43bdc0d3b5 user: ben tags: trunk | |
| 11:36 | Move generation of the "configure" script into its own script so that people who check the code out of Subversion can get it to go. check-in: e6535f2a9e user: ben tags: trunk | |
| 10:55 | Add a mechanism for using autoconf to detect the quirks of Unix systems rather than relying on the user to edit the Makefile. Makefile.gtk still works as well as it ever did, but now we get a Makefile.in alongside it. mkunxarc.sh now relies on autoconf and friends to build the configure script for the Unix source distribution. check-in: f4e8b20c96 user: ben tags: trunk | |
|
2005-04-24
| ||
| 09:43 | On some systems (NetBSD 1.6 and Solaris 9, at least), GCC doesn't understand the semantics of assert(0) and believes it can return. Add a gratuitous exit(1) to convince it that this won't happen, and hence quell a couple of warnings about variables' being used uninitialised. check-in: 99e52e867d user: ben tags: trunk | |
|
2005-04-23
| ||
| 11:22 | Now that we've got at least some SDCTR modes working (and aes256-ctr is our default preferred cipher), add code to inject SSH_MSG_IGNOREs to randomise the IV when using CBC-mode ciphers. Each cipher has a flag to indicate whether it needs this workaround, and the SSH packet output maze has gained some extra complexity to implement it. check-in: 98cafbbe9b user: ben tags: trunk | |
|
2005-04-22
| ||
| 10:47 | Stir in process ID at start. check-in: 24f22a29b4 user: jacob tags: trunk | |
|
2005-04-21
| ||
| 19:00 | Change proxy-dns `Auto' default for SOCKS5 from local DNS to remote DNS. SOCKS5 should always be able to do this, and I suspect our not doing so dates from when the SOCKS proxy types were under a single configuration option (pre-r3168). check-in: 2767d1c080 user: jacob tags: trunk | |
| 08:57 | First crack at `terminal-modes' in SSH. PuTTY now sends ERASE by default, Unix Plink sends everything sensible it can find, and it's fully configurable from the GUI. I'm not entirely sure about the precise set of modes that Unix Plink should look at; informed tweaks are welcome. Also the Mac bits are guesses (but trivial). check-in: 533d29650c user: jacob tags: trunk | |
|
2005-04-20
| ||
| 17:52 | Ifdef out the actual code supporting 3des-ctr and blowfish-ctr, since GCC now notices that it isn't used. check-in: b9f8f8776e user: ben tags: trunk | |
| 17:47 | Simon (accidentally, I think) enabled 3des-ctr and blowfish-ctr. Turn them back off again since they're still untested. check-in: 045da486d1 user: ben tags: trunk | |
| 16:29 | Minimally document our support of aes*-ctr. check-in: e9f761c95c user: ben tags: trunk | |
| 15:57 | Enable arcfour256-draft-00@putty.projects.tartarus.org, since I've now tested it against an independent implementation. check-in: e1e36d0b66 user: ben tags: trunk | |
|
2005-04-19
| ||
| 14:18 | Invent a way of specifying control characters numerically in ctrlparse(): ^<27>, ^<0x1B>, ^<033>. (This doesn't tread on any syntax that already had a non-null behaviour.) check-in: d75014453b user: jacob tags: trunk | |
| 13:58 | Pull out parsing of ^C style strings from the terminal answerback code to its own function, since I'll be wanting it for `terminal-modes'. check-in: 8baaaf38f8 user: jacob tags: trunk | |
| 08:27 | Remove "none" from the MACs we offer to support in SSH-2. (It was at the end, after the REQUIRED "hmac-sha1".) This has been present since SSH-2 support was introduced (r569). check-in: 40843350e9 user: jacob tags: trunk | |
|
2005-04-18
| ||
| 16:09 | Add ability to construct SSH-1 packets incrementally (not used yet). I've added this to support `terminal-modes', but since this unifies some SSH-1 and SSH-2 packet construction code, it saves a few hundred bytes. Bonus. check-in: 6ce70c5c20 user: jacob tags: trunk | |
| 07:21 | Add a comment describing `dummyitem' in prefslist and associated problems. check-in: 4556c394db user: jacob tags: trunk | |
| 05:01 | Recent CTR mode changes stopped OS X PuTTY from compiling, because -Werror objects at various static data items being defined but not used. Ifdef some things out to restore warning-free compilability. check-in: 3833248e32 user: simon tags: trunk | |
|
2005-04-15
| ||
| 08:11 | Index "Event Log", "system menu", and "context menu" better. check-in: b833d0f66d user: ben tags: trunk | |
|
2005-04-14
| ||
| 17:58 | Implement my experimental arcfour modes. The 256-bit version is disabled until I can test it against someone else's implementation. check-in: 3782733aa1 user: ben tags: trunk | |
|
2005-04-12
| ||
| 15:04 | Unify GET_32BIT()/PUT_32BIT() et al from numerous source files into misc.h. I've done a bit of testing (not exhaustive), and I don't _think_ I've broken anything... check-in: a434996c3e user: jacob tags: trunk | |
|
2005-04-11
| ||
| 12:37 | Comment: change "window.c" to "the front end" check-in: b50106acc1 user: jacob tags: trunk | |
| 11:24 | Factor out the code to read and write the Environment and PortForwardings mappings into two new functions. check-in: 6f46b8e06b user: jacob tags: trunk | |
| 11:23 | Retire winctrls.c:multiedit() in favour of a new simpler function for a single full-width edit box. multiedit()'s extra functionality has been superseded by the "columns" mechanism, and it didn't allow an edit box to be created with no label. Also add no-label capability to a couple of other controls. check-in: 5b60777159 user: jacob tags: trunk | |
|
2005-04-09
| ||
| 18:02 | Add WS_VSCROLL style to drop-down non-combo boxes, to add a scroll bar if needed. (Doesn't affect the appearance of any existing controls.) check-in: 1fdf9bd382 user: jacob tags: trunk | |
|
2005-04-07
| ||
| 17:33 | Tone down canonical-name resolution when using getaddrinfo(). Previously we were doing a forward+reverse lookup, which seems above and beyond the call of duty, especially given that getaddrinfo() can be persuaded to return a canonical name (this is what unix/uxnet.c does). Unfortunately, I'm unable to test this at all as Win98 doesn't have getaddrinfo(); hopefully I'll be able to find a mug with a modern version of Windows to check it's not completely broken. I think the effects of this are mostly cosmetic -- the canonical name is used for window titles (and some people have been annoyed at the new behaviour), other displays, and probably also for proxy exclusions. check-in: 3cce74bf22 user: jacob tags: trunk | |
| 07:38 | I always get a lot of personal mail about PuTTY when I send out a release announcement, because people reply directly to the putty-announce mail. I should remember to set a Reply-To header next time. check-in: 91d83f7b9a user: simon tags: trunk | |
| 07:00 | Oops, forgot to credit Ahmad Khalifa of arabeyes.org for the bidi/shaping work. check-in: 91dfa430a2 user: jacob tags: trunk | |
|
2005-04-06
| ||
| 20:42 | Add keyboard accelerators for IPv4/IPv6 selections options. (Also for `window_border'.) check-in: 71eb9cf248 user: jacob tags: trunk | |
| 20:36 | If a new session was saved from Change Settings, a side-effect on Windows was that the global `sesslist' got out of sync with the saved-sessions submenu, causing the latter to launch the wrong sessions. Also, Change Settings wasn't getting a fresh session list, so if the set of sessions had changed since session startup it wouldn't reflect that (at least until a session was saved). Fixed (on all platforms). Therefore, since the global sesslist didn't seem to be useful, I've got rid of it; config.c creates one as needed, as do the frontends. (Not tried compiling Mac changes.) Also, we now build the saved-sessions submenu on demand on Windows and Unix. (This should probably also be done on the Mac.) check-in: 11a4164f51 user: jacob tags: trunk | |
| 20:32 | In get_sesslist(), when freeing, set freed members to NULL on general principles. check-in: 249f1326fc user: jacob tags: trunk | |
| 18:40 | Remove support for the "rijndael256-cbc", "rijndael192-cbc", and "rijndael128-cbc" names for AES. These are in the IANA namespace, but never appeared in any secsh-transport draft, and no version of OpenSSH has supported them without also supporting the aes*-cbc names. "rijndael-cbc@lysator.liu.se" gets to live because it's in the private namespace. check-in: 7ee3abdcf4 user: ben tags: trunk | |
| 18:27 | Implement SDCTR modes, as defined in the newmodes draft. This adds aes128-ctr, aes192-ctr, and aes256-ctr. blowfish-ctr and 3des-ctr are present but disabled, since I haven't tested them yet. In addition, change the user-visible names of ciphers (as displayed in the Event Log) to include the mode name and, in Blowfish's case, the key size. check-in: d3f3f9c216 user: ben tags: trunk | |
| 17:16 | `xp-wont-run': Apparently my application-manifest trims of r5534 aren't acceptable on all versions of XP. Bah. Revert to pre-r5534 format (but keep version number as 0.0.0.0). People who've had this problem have reported putty.mft to make it go away. NB, putting these updated manifests alongside the executable (e.g. as `putty.exe.manifest') is also reported to work. check-in: 5370dde63c user: jacob tags: trunk | |
|
2005-04-05
| ||
| 14:36 | Version number and other tweakings prior to the 0.58 release. check-in: 49ffff2389 user: simon tags: trunk | |
| 13:38 | tweak wording in "pscp -ls" check-in: 151bf3ba13 user: jacob tags: trunk | |
| 13:15 | add XXX-REMOVE-BEFORE-RELEASE re uninstaller check-in: 233f1d558d user: jacob tags: trunk | |
| 13:11 | Add target to build `info' file. We probably already require a new enough version of Halibut that this isn't a problem; nevertheless, I've put it in a separate target for now. check-in: 94ca16030a user: jacob tags: trunk | |
| 13:03 | Add versionid for index. Also plumb in pgpkeys.but versionid. check-in: c03e6a193d user: jacob tags: trunk | |
| 13:01 | Index the complete PuTTY manual. This was a bit rushed, and could doubtless be improved. Also fix a couple of things I noted on the way, including: - "pscp -ls" wasn't documented - Windows XP wasn't mentioned enough check-in: d3a077fa53 user: jacob tags: trunk | |
|
2005-04-04
| ||
| 08:44 | NULL needs to be cast to void * when passed to a variadic function like execl(). Spotted by Damien Miller. check-in: eb7b985525 user: ben tags: trunk | |
|
2005-04-01
| ||
| 07:25 | #ifdef out expensive combining-character/scrollback diagnostics (for now). check-in: e1292dcaea user: jacob tags: trunk | |
| 02:46 | sk_address_is_local() was ignoring the possibility that a SockAddr might have an IPv4 address in `ai' rather than in `addresses'. Thanks to Martin Prikryl for pointing this out. check-in: 904f28216b user: simon tags: trunk | |
|
2005-03-31
| ||
| 12:52 | Add text to the troubleshooting chapter about the errors that can be caused when an active connection times out due to outgoing data exceeding its maximum number of retries, and mention that this can occur even when you didn't think you'd sent anything due to rekeys and/or keepalives. Unix generates ETIMEDOUT in this situation. Windows, it turns out after doing an actual experiment by disabling my firewall, generates ECONNABORTED! So _that's_ what it means under Windows. I wish I'd done this experiment years ago now. check-in: 045dd26b66 user: simon tags: trunk | |
| 07:45 | FAQ entry on rekeys: Jacob would like to pre-emptively try to avoid the possibility of people falling back to SSH-1 just because it gets rid of the irritating delays. check-in: 13f6a8ffb8 user: simon tags: trunk | |
| 06:25 | Beef up the `unfinished and experimental' warnings for the two Mac ports, mentioning in particular that even if you downloaded a _release_ source archive these particular ports are not considered to be of release quality. check-in: 654cd509e1 user: simon tags: trunk | |
| 03:02 | XXX-REMOVE-BEFORE-RELEASE: check docs too check-in: d7303869d2 user: jacob tags: trunk | |
|
2005-03-30
| ||
| 13:33 | Further fix for lcc-win32. The PuTTY suite now compiles fine for me using lcc-win32 v3.8 (compilation date Mar 2 2005 18:40:17) provided I pass COMPAT="-DNO_IPV6 -DNO_MULTIMON" on the command line. check-in: 77e295b6c2 user: simon tags: trunk | |
| 04:20 | faq-timeout: update for XP check-in: 17dff8e65f user: jacob tags: trunk | |
| 02:27 | <1112163342.018492.101240@f14g2000cwb.googlegroups.com> on comp.security.ssh contains a Dr Watson log which looks to me as if `unclean-close-crash' occurred due to a rekey timer going off after the session had closed. Hence, ssh2_timer() now avoids doing anything if the session is already closed, and also ssh_do_close() proactively calls expire_timer_context(). Between those I think they ought to solve the problem. check-in: a38745f290 user: simon tags: trunk | |
|
2005-03-29
| ||
| 08:24 | Small markup fixes I just noticed, mostly use of literal double quotes where \q{} would be better. check-in: 4fd797a1e1 user: simon tags: trunk | |
| 07:10 | After we receive EOF on stdin, we should clear ssh->send_ok so that we stop trying to read anything further from stdin. Otherwise we send a continuous stream of SSH2_MSG_CHANNEL_EOF. check-in: b8c79bfc5c user: simon tags: trunk | |
|
2005-03-28
| ||
| 11:48 | Render timing.c robust in the face of strangeness. The strangenesses in question vary per OS: on Windows the problem is that WM_TIMER sometimes goes off too early, so that GetTickCount() is right and the callback time is wrong, whereas on Unix the problem is that my GETTICKCOUNT implementation comes from the system clock which means it can change suddenly and non-monotonically if the sysadmin is messing about (meaning that the timing of callbacks from GTK or select timeouts is _more_ likely to be right than GETTICKCOUNT). This checkin provides band-aid workarounds for both problems, which aren't pretty but ought to at least prevent catastrophic assertion failure. check-in: 19b26a1cc7 user: simon tags: trunk | |
|
2005-03-23
| ||
| 20:22 | In fact, I'll document the wrinkle with "plink -load", rather than just wittering about it on a mailing list. check-in: f382c137f8 user: jacob tags: trunk | |
| 19:01 | Fix comment re dmemdumpl() check-in: 0d7a14b8db user: jacob tags: trunk | |
| 14:23 | Since Markus Kuhn no longer explicitly places wcwidth.c in the public domain, it'd probably be generous to list him in the copyrights. check-in: 53095c321f user: jacob tags: trunk | |
| 14:04 | `wcwidth-upgrade': upgrade to latest wcwidth.c from Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c>. This is identified both internally and in HTTP headers as 2003-05-20, for Unicode 4.0. Only changes from upstream are to make mk_wcwidth_cjk() non-static and to #include "putty.h" for prototypes. The status of some code points has changed; see the wishlist item. We've had some feedback from the CJK and Arabic communities that upgrading is probably the right thing to do. check-in: 43aaadc6f0 user: jacob tags: trunk | |
|
2005-03-22
| ||
| 19:08 | Another fix from Hung-Te Lin; apparently in some IMEs (such as "MS NewPhonetics"), move events (arrow keys) were being doubled up, apparently because we turned both KEYDOWN and KEYUP events into new KEYDOWN events. I don't claim to understand the precise effect of this patch :( but I'm reasonably confident that it only affects IME users, and experimentally it doesn't seem to break anything obvious, so if piaip says it makes things better that's good enough for me :) check-in: b571a72780 user: jacob tags: trunk | |
| 17:25 | Fix my fix (r5539) to the `multi-changesettings-crash' fix. Ahem. check-in: 8eba346720 user: jacob tags: trunk | |
| 17:20 | Add an option to use wcwidth_cjk() instead of wcwidth(), as several people have asked for it. check-in: 196df61809 user: jacob tags: trunk | |
|
2005-03-21
| ||
| 16:20 | Hung-Te Lin spotted that the `multi-changesettings-crash' workaround for Windows would prevent a user opening Change Settings if they'd cancelled a previous Change Settings. check-in: b1e67f39ff user: jacob tags: trunk | |
| 11:43 | Mention PUTTY.RND by name check-in: 0fadae178d user: jacob tags: trunk | |
| 07:46 | Martin Trautmann spotted a bare char being passed to isspace. check-in: a7eef72fe4 user: simon tags: trunk | |
|
2005-03-20
| ||
| 19:51 | Trim application manifests as much as MS' documentation and Owen's experiments on XP allow while still having the desired effect -- this allows removal of some fibs. Also, change version number to 0.0.0.0 in preparation for `win-versioninfo' (not that we found anything that took any notice of the version number declared here). check-in: f01e04c784 user: jacob tags: trunk | |
| 19:05 | Improvement for IME font display from Hung-Te Lin. Not tested, but it appears only to affect Glenn Maynard's r1406 code from <20011006170741.A23470@zewt.org> and nothing else, so seems harmless enough. check-in: 6e9a512a1b user: jacob tags: trunk | |
| 16:28 | Add comments about default processing in DialogProc/WindowProc, since I often forget the rules. check-in: dafb82d057 user: jacob tags: trunk | |
|
2005-03-19
| ||
| 13:23 | Revert last change: Some versions of the GNU C Library (notably SUSE glibc-2.3.3-118 and Debian libc6 2.3.2.ds1-20) have clock_gettime() and CLOCK_MONOTONIC in their headers, but not in libc itself, which we can't detect easily. check-in: 938b498699 user: ben tags: trunk | |
| 13:02 | If it's available, try to use clock_gettime(CLOCK_MONOTONIC) rather than gettimeofday(), since the former shouldn't warp when the user resets the clock. check-in: fa500e0b32 user: ben tags: trunk | |
| 10:34 | Work around lcc's annoying (but, even more annoyingly, legitimate) refusal to allow comparison of function pointers. Unfortunately this still doesn't cause PuTTY to compile on my lcc installation, because the GetCharacterPlacement stuff in exact_textout() is missing from its header files. This may have been fixed in a future version (I'm using lcc-win32 version 3.8 from December 2003), but I haven't checked. check-in: c21f956e2f user: simon tags: trunk | |
|
2005-03-18
| ||
| 21:05 | More compact display for the key links/fingerprints. Still not ideal, but it'll probably do. check-in: 5c3fe3560a user: jacob tags: trunk | |
| 20:29 | Set SVN properties on udp.but the same as everything else check-in: d59b56948b user: jacob tags: trunk | |
| 20:26 | Try to make our PGP signing more useful: * All the PuTTY tools for Windows and Unix now contain the fingerprints of the Master Keys. The method for accessing them is crude but universal: a new "-pgpfp" command-line option. (Except Unix PuTTYgen, which takes "--pgpfp" just to be awkward.) * Move the key policy discussion from putty-website/keys.html to putty/doc/pgpkeys.but, and autogenerate the former from the latter. Also tweak the text somewhat and include the fingerprints of the Master Keys themselves. (I've merged the existing autogeneration scripts into a single new one; I've left the old scripts and keys.html around until such time as the webmonster reviews the changes and plumbs in the new script; he should remove the old files then.) check-in: d2a830c19a user: jacob tags: trunk | |
| 13:47 | After we thaw a frozen socket, we apparently need to restart the WSAAsyncSelect or else Windows loses read events. check-in: 0adf688a9c user: simon tags: trunk | |
| 06:58 | I believe MAC/CRC errors can be caused by network corruption, in principle. check-in: e8d9c0d3e9 user: jacob tags: trunk | |
|
2005-03-17
| ||
| 14:01 | Hung-Te Lin's fix for intermittent WM_PAINT problems. check-in: 20a99cf841 user: simon tags: trunk | |
| 13:49 | The structural reorganisation of ssh.c (r4909) caused ssh2_try_send() to no longer be run after receiving WINDOW_ADJUSTs. I believe this is likely to have been the cause of recent PSCP hanging issues. check-in: 5851365fea user: simon tags: trunk | |
|
2005-03-16
| ||
| 10:09 | faq-savedsettings: mention Default Settings check-in: 3ef0ba8cc0 user: jacob tags: trunk | |
| 07:20 | Fix `telnet-option-loop', I think. (Untested except to check it compiles, since I don't have a suitably awkward server to run it against; but Ben reviewed the patch before checkin so we can share the blame if it doesn't work.) check-in: ea494b5aa7 user: simon tags: trunk | |
|
2005-03-15
| ||
| 14:34 | Add protection against multiple Change Settings dialogues. check-in: ac3a20d53e user: owen tags: trunk | |
| 04:43 | Fix pterm-logtype-crash check-in: 520fa30de8 user: owen tags: trunk | |
|
2005-03-13
| ||
| 19:56 | Consistent indenting in option specs check-in: fe0ee76180 user: jacob tags: trunk | |
|
2005-03-11
| ||
| 15:05 | punctuation nit check-in: 89b2c3083f user: jacob tags: trunk | |
| 09:52 | Retire MINGW32_FIX. It was a fix for a blatant bug in MinGW's windres, which was fixed in CVS in 2000 (I think); and we now depend on MinGW much more recent than that for various other reasons. I've tested with my current MinGW (around 2.0.0 vintage) and the original symptoms (dodgy characters in edit boxes) don't appear to show up. check-in: f429068388 user: jacob tags: trunk | |
| 09:24 | Make it clearer which protocol version various bugs apply to. check-in: 154887e340 user: jacob tags: trunk | |
| 03:07 | Fiddle with source archive for new OS X files. check-in: ce65dcdd08 user: simon tags: trunk | |
|
2005-03-10
| ||
| 14:11 | Thanks to D H Becker for sending in an icon. I'd have liked to have written a script which would generate the various graphical components of the PuTTY icon suite at any given resolution and then used that to generate the OS X icon as well as all the others, but I can always do that later; this'll do for now. check-in: 1473d8d35b user: simon tags: trunk | |
| 11:08 | Expand "v" to "version" when discussing SSH protocol versions. check-in: ceed22ef62 user: ben tags: trunk | |
| 11:08 | When we're quoting user-interface text from PuTTY 0.51, we probably shouldn't correct its spelling of "SSH-2". check-in: 1f69612ab8 user: ben tags: trunk | |
| 11:06 | Fix an "SSH v1" that Jacob missed (because it spanned a line break). check-in: 9be63703bc user: ben tags: trunk | |
| 11:04 | Make it clear that even when using SSH 2, you only need the SSH-2 pubkey format if you're actually using the SSH-2 protocol. check-in: 906110b6a9 user: ben tags: trunk | |
| 10:36 | Consistently use a single notation to refer to SSH protocol versions, as discussed. Use Barrett and Silverman's convention of "SSH-1" for SSH protocol version 1 and "SSH-2" for protocol 2 ("SSH1"/"SSH2" refer to ssh.com implementations in this scheme). <http://www.snailbook.com/terms.html> check-in: 59a5e883d1 user: jacob tags: trunk | |
| 10:18 | Support multiple anchor name types now that Jacob has enhanced Halibut to be able to do so. check-in: 863778dc61 user: simon tags: trunk | |
| 04:07 | Protect against multiple Change Settings dialogues. We should probably also arrange to switch to an existing Change Settings if the user selects the menu item and we already have a Change Settings. check-in: 79b9658c13 user: owen tags: trunk | |
|
2005-03-08
| ||
| 17:06 | Ben Hutchings reports that new PuTTY instances created from the saved sessions menu (etc) can inherit listening sockets, and that this sometimes causes trouble. Can't reproduce any problems myself, but let's only allow inheritance when absolutely necessary -- Duplicate Session -- in which case there's already going to be trouble with two processes trying to listen on the same port. check-in: 6a0a90c90d user: jacob tags: trunk | |
| 08:20 | Miscellaneous tweaks. check-in: 0e3a67d55a user: jacob tags: trunk | |
|
2005-03-07
| ||
| 10:40 | Charlie at work points out that the screen FAQ contains a different - and probably better - solution to the screen-vs-alt-screen issue. Reference it and describe the fix. check-in: 022b555d74 user: simon tags: trunk | |
| 08:07 | `What commands can I type into my PuTTY session' is probably the single most frequently asked thing which isn't in the FAQ (it's in feedback.but instead), so let's add it. I'm uncertain that the people who mail us asking things like `how do I read my email' and `how do I access $database' will successfully recognise this more general question as one which includes their specific one, but it's worth a try. check-in: ef21549820 user: simon tags: trunk | |
|
2005-03-06
| ||
| 10:38 | Add notification when using the various auth methods with server-supplied prompts, to make it more obvious if a server is attempting to spoof a local passphrase prompt. I believe an alert user could have spotted this in all cases in SSH-2, although perhaps not in SSH-1. (But they'd have to have enabled TIS/CryptoCard.) check-in: 723767177f user: jacob tags: trunk | |
| 09:00 | Fix sense of test in previous checkin :) check-in: b98b0eb42e user: jacob tags: trunk | |
| 08:48 | I'm sick and tired of the persistent reports of lineptr() failing its `line != NULL' assertion, so I've replaced the assertion with a call to fatalbox() giving oodles of information. I may still not be able to reproduce it, but at least next time it happens we should see a decent amount of debugging data! check-in: 25281d58e9 user: simon tags: trunk | |
|
2005-03-05
| ||
| 12:14 | Over-enthusiastic assertions in the port forwarding code removed. Port forwardings are set up before initialising the last few details of the main shell session, so ssh->state can reasonably hold values other than SSH_STATE_SESSION and SSH_STATE_CLOSED during calls to sshfwd_*. check-in: cb0a6e9c46 user: simon tags: trunk | |
| 11:56 | Make sure we do notify_remote_exit(ssh->frontend) _before_ connection_fatal(), since the latter is entitled to destroy the backend so `ssh' may no longer be valid once it returns. For the Unix port, switch exit(0) to gtk_main_quit() in notify_remote_exit(), so that we don't exit before the subsequent connection_fatal()! check-in: 695d639fd8 user: simon tags: trunk | |
| 09:05 | Platform-independent fixes for NO_IPV6 compilation (prevent segfaults on trying to access pfd->addressfamily which doesn't exist). check-in: b4ba12b7a9 user: simon tags: trunk | |
| 09:04 | Fixes for NO_IPV6 compilation under Unix. check-in: 692140a743 user: simon tags: trunk | |
|
2005-03-03
| ||
| 19:54 | Fix potential fault where -L/-R/-D could accept a string too long for our portfwd[] array. (Not sure what would happen in this case, mind.) Also modify -L/-R/-D code to cope with IPv4/IPv6 tunnels in saved settings. check-in: 13a89da89b user: jacob tags: trunk | |
| 19:20 | rm some magic numbers in ssh_setup_portfwd() check-in: d2ef568fb3 user: jacob tags: trunk | |
| 19:02 | Fix minor imprecisions in cfg->portfwd[] bounds checking (which erred on the side of rejecting input, not buffer overflow). check-in: 88992e9df8 user: jacob tags: trunk | |
| 07:07 | Explicitly set MIN and TIME when in raw mode to request single characters with no timeout. This seems to make Plink work better on Solaris. check-in: 26d6125d5d user: ben tags: trunk | |
|
2005-03-02
| ||
| 17:33 | Draglists, implemented as up-down preference lists as in GTK. check-in: c7b9eac6fd user: owen tags: trunk | |
| 09:53 | More confusing "(BYTE *) & val" style punctuation. I blame GNU indent, although its confusion is understandable. check-in: 2674622249 user: jacob tags: trunk | |
|
2005-03-01
| ||
| 18:46 | nit: confusing punctuation check-in: edd34de4f8 user: jacob tags: trunk | |
| 18:31 | rm incorrect comment check-in: cfbbe3b7d4 user: jacob tags: trunk | |
| 17:48 | Fix off-by-one in memory management of PPK reading routine, which could cause 1-byte buffer overflow when reading .PPK files with long lines (>=128 bytes in header value -- probably only happened in practice in the comment field). check-in: ad221517bc user: jacob tags: trunk | |
| 15:38 | Close on exit. I'm not entirely happy with the distribution of this across mac_closeterm() and notify_remote_exit() but it will do for now. Also, "PuTTY (inactive)" looks strange as a Mac window title in a way it doesn't on Unix or Windows. Perhaps we should find another way of indicating that a window contains a dead session? check-in: bf0e93a2f1 user: owen tags: trunk | |
| 15:34 | Update Inno Setup script. Tested with IS 5.0.8 on Win98SE; I think there are a few things that will faze whatever we're using currently (2.0.19 or thereabouts?), but nothing desperately modern. (NB, the 0.57 putty.iss works fine with 5.0.8 and the installer is even 40k smaller.) Notable changes: - Uninstallation now runs a variant of `putty -cleanup'. The variance is only in the text displayed; the user is still prompted, and the default action is (now) "keep" in both cases. - Optionally add an icon in the Quick Launch bar. - Make desktop item optionally for all users. (not tested) - "Create a Start Menu group" now handled via IS' own mechanism. check-in: 9bde7a592f user: jacob tags: trunk | |
| 09:18 | Mention `-cleanup' caveats on multi-user systems. Mention installer in faq-cleanup. Fix indexing snafu. check-in: 78b1b62113 user: jacob tags: trunk | |
| 06:19 | VC didn't like PATH_MAX. Use MAX_PATH instead. (This macro is mentioned in MSDN's SetCurrentDirectory() documentation, although I haven't found a statement of where it's supposed to be defined.) check-in: 7c784b1894 user: jacob tags: trunk | |
|
2005-02-28
| ||
| 19:16 | Add context help to a couple of message boxes. Unfortunately the ones I wanted to get to -- "software caused connection abort" and friends -- are going to be more involved (probably requiring some cross-platform notion of help contexts), and these ones hardly seem worth the effort. Still, I've done it now. Side-effect: Pageant now uses the same `hinst' and `hwnd' globals as everything else. Tested basic functionality. check-in: ab8229cc93 user: jacob tags: trunk | |
| 18:33 | Make it clearer that `-m' is only usable with SSH. check-in: df6c8399fc user: jacob tags: trunk | |
| 18:00 | Move the MessageBox-with-help function out into winutils.c, although it's still only used for the host key popups. Side-effects: - requested_help is a winstuff.h global - Pageant now defines winstuff.h globals (Also, my previous fix to my improved host-key dialogs only got the "changed" case, not the "unknown" case. Some days I shouldn't be let near a keyboard.) check-in: 97227aaee6 user: jacob tags: trunk | |
|
2005-02-27
| ||
| 20:51 | Make things other than Pageant use request_file(), why not, although all of its funkiness is switched off so the behaviour is the same as before. check-in: baaeb6bb81 user: jacob tags: trunk | |
| 20:40 | Fix for `pageant-dirhandle': a new wrapper functions `request_file()' maintains a separate CWD for the file requester, so that when the Open File box is not open Pageant should stay where it was started. (Also some other minor cleanups in this area of Pageant.) check-in: 7496d44982 user: jacob tags: trunk | |
| 18:17 | PSFTP now needs wildcard.o, and was only getting it by luck. Make it explicit. check-in: 5d5c1a525b user: jacob tags: trunk | |
| 17:57 | Move SaneDialogBox()/SaneEndDialog() from winmisc.c to windlg.c, since they seem to be PuTTY(tel)-specific (at least at the moment). Might save a bit of space in the other binaries. check-in: 64cfacc518 user: jacob tags: trunk | |
| 17:15 | Improve Pageant's error reporting for private key load failures. check-in: c5b0d713e4 user: jacob tags: trunk | |
| 17:01 | Improvements to PuTTYgen error reporting: - will now display a reason when it fails to load a key - uses existing error return from native keys - import.c had a lot of error descriptions which weren't going anywhere; since the strings are probably taking up space in the binary, we may as well use them check-in: c5c5fb953d user: jacob tags: trunk | |
| 07:53 | Warn on close. Also warn before use. check-in: fb3994bdfe user: owen tags: trunk | |
|
2005-02-26
| ||
| 11:43 | Pull out the common compiler-specific workarounds and so on from individual resource files into windows/rcstuff.h. check-in: a7e0148dcb user: jacob tags: trunk | |
| 11:30 | Allow mkfiles.pl to put multiple verbatim sections in a Makefile, and use one of these for the MacOSX CFLAGS tweak. check-in: 8114bac791 user: jacob tags: trunk | |
| 09:50 | The comment that Private-Hash: was not allowed in DSS PuTTY-User-Key-File-1 keys was apparently incorrect; prior to r1413, it was both allowed, and generated for passphraseless keys. Remove it and associated validation so that people are able to load such keys into PuTTYgen to upgrade them, as suggested. check-in: 01e3b339bd user: jacob tags: trunk | |
| 09:13 | Fix segfault on forcible window closure. check-in: e868f0a0b5 user: simon tags: trunk | |
| 07:37 | Sort out close-on-exit, connection_fatal(), fatalbox(), and [SessionWindow dealloc] (which was required in order to avoid segfaulting when a redraw timer fired for a closed session window!). check-in: d4ced9b130 user: simon tags: trunk | |
|
2005-02-25
| ||
| 18:41 | We weren't correctly discounting "." and ".." when they came from FindFirstFile(), with hilarious consequences for recursive transfers in PSFTP. (PSCP appears to behave fine; it does its own "."/".." removal.) check-in: a539621666 user: jacob tags: trunk | |
| 15:26 | Makefile.lcc mentions version.o instead of .obj (not that it matters, probably) check-in: 5ef38b85b8 user: jacob tags: trunk | |
| 03:59 | Per Gunnar Floe spotted a reversed test in sftp_cleanup_requests(). check-in: a640094153 user: simon tags: trunk | |
|
2005-02-24
| ||
| 16:45 | Add RT_MANIFEST arguments to dependencies for Windows resource objects. check-in: 8cbeed95f5 user: jacob tags: trunk | |
| 14:28 | Some copyright dates that were missed in the Mac port. check-in: e28862c8f7 user: jacob tags: trunk | |
|
2005-02-23
| ||
| 15:19 | Support for setting some options like keepalive, oobinline, nodelay, and SO_REUSEADDR for ot_newlistener(). Also handle remote-initiated disconnections. check-in: 82fcf9c79a user: owen tags: trunk | |
| 03:25 | Fallout from my change in the semantics of cfg.remote_cmd_ptr. Spotted by Alano na Alania. check-in: 0859f5691b user: simon tags: trunk | |
|
2005-02-22
| ||
| 17:40 | A first attempt at listening sockets in Open Transport. check-in: 085e654286 user: owen tags: trunk | |
| 17:30 | Remove the two logevent calls passing NULL as the first argument. This was copied straight from winnet.c and I don't believe it's _ever_ been valid in the Unix front end. check-in: 996521bf9d user: simon tags: trunk | |
|
2005-02-21
| ||
| 17:43 | Rearrange verify_ssh_host_key() for robustness in the face of strangeness, in the same manner as windows/windlg.c (but tested this time :) check-in: 1a7f6315cd user: jacob tags: trunk | |
| 17:34 | Ahem. Fix my hostkey dialog fix so that storing the host key doesn't close the connection. check-in: dccead2ac0 user: jacob tags: trunk | |
| 12:13 | Make sure that auth->xdmseen is initialised (to NULL) even if it's not used. check-in: f576bf316d user: ben tags: trunk | |
|
2005-02-20
| ||
| 17:26 | Change "are you sure you want to close this window" default back to what it was ("yes"). Partly because it was inconsistent with gtkdlg.c, and partly because it was annoying me. check-in: dfe358ead7 user: jacob tags: trunk | |
| 17:00 | On Windows, MessageBoxIndirect() was sometimes failing to pop up the host key dialog and returning an unexpected value (0), causing everything to silently behave as if the user had said "allow this connection but don't store host key"! Initialising (MSGBOXPARAMS).hInstance seems to have cured this (although the MSDN docs seemed to indicate it wouldn't be used) -- if so, it's been broken since r5309 on 2004-02-15 -- but since this was something of a Heisenbug, and the behaviour was so catastrophic when MessageBoxIndirect() behaved oddly, I've rearranged the code to default to cancelling, and added an assertion for visibility. (Windows PuTTY still seems to be broken wrt servers that send NEWKEYS while we're waiting for the user, which happens to include the "SSH-2.0-2.4.1 SSH Secure Shell OpenVMS V1.0" I'm testing against. I don't know why. The above bug may also have been limited to this circumstance.) check-in: c2a87e26fb user: jacob tags: trunk | |
| 15:00 | Another failure to crStop(0) on user abort, this time for SSH-1 cipher askalg(). That should be the last one. check-in: 5d6cd77882 user: jacob tags: trunk | |
| 06:54 | Support the drop-down menu part of the editbox control (combobox). This cuts and pastes a lot of code from macctrl_popup, which perhaps should be consolidated. Also change the effective line codepage when it is changed with Change Settings. check-in: 02e5c18f57 user: owen tags: trunk | |
| 05:34 | README.txt needs CRLF line endings. check-in: 91eec3f336 user: simon tags: trunk | |
| 04:51 | Bump version numbers. (Forgot to do this _before_ dropping the 0.57 tag, but that's OK because SVN doesn't distinguish tags from branches anyway...) check-in: 3513ed7665 user: simon tags: trunk | |
| 04:30 | Additional robustness to SFTP packet parsing and memory allocation. check-in: 6e1691ecfd user: simon tags: trunk | |
|
2005-02-19
| ||
| 15:56 | Correct some comments based on feedback from Thomas Dickey. check-in: d2701c9e97 user: ben tags: trunk | |
| 09:53 | Grey the titles of group boxes when the config box is not frontmost. Edit box values still fail to be greyed. check-in: 96a56a0d0d user: owen tags: trunk | |
| 08:48 | Oops; missed out a crStop in the new host key verification code. check-in: db594ef974 user: simon tags: trunk | |
|
2005-02-18
| ||
| 19:20 | Log file open mode lost a "b" in r5344. Windows at least needs log files to be written in binary mode with the current code. check-in: 32af9a3e5a user: jacob tags: trunk | |
| 16:03 | New enum constant ERROR clashed with a macro in MinGW's wingdi.h. Use uglier names. check-in: 6514b4f779 user: jacob tags: trunk | |
| 12:35 | Add plain-Unix binaries to the `make clean' list in the OS X makefile. check-in: 61139cb104 user: simon tags: trunk | |
| 12:33 | Add asynchronous callback capability to the askappend() alert box. This was harder than verify_ssh_host_key() and askalg() put together, because: (a) askappend() can be called at any time, since it's a side effect of data-logging functions. Therefore there can be an unfinished askappend() alert at any time, and hence the OS X front end has to be prepared to _queue_ other alerts which occur during that time. (b) logging.c has to do something with data that comes in while it's waiting for an answer to askappend(). It buffers it until it knows what the user wants done with it. This involved something of a reorganisation of logging.c. check-in: 104367e90f user: simon tags: trunk | |
| 12:19 | A few more fixes in the new asynchronous-alert-box mechanism. check-in: a5d370224a user: simon tags: trunk | |
| 03:22 | We have a host key database, just not a very good one. check-in: 4cbbf22b3f user: owen tags: trunk | |
|
2005-02-17
| ||
| 13:31 | Adjust the semantics of cfg.remote_cmd_ptr: it is now NULL when cfg.remote_cmd is to be used, rather than actually pointing at cfg.remote_cmd. This change restores the ability to structure-copy Configs without breaking them. (Though of course this is only a temporary solution: really what wants doing is to fix `config-struct'.) check-in: ac54c8cf58 user: simon tags: trunk | |
| 12:56 | Ahem. Actually _checking_ that asynchronous askalg() worked would have been helpful. Since async verify_ssh_host_key() worked, I didn't think anything else could go wrong. How wrong I was. check-in: e84ffae719 user: simon tags: trunk | |
| 12:34 | Revamp interface to verify_ssh_host_key() and askalg(). Each of them now returns an integer: 0 means cancel the SSH connection and 1 means continue with it. Additionally, they can return -1, which means `front end has set an asynchronous alert box in motion, please wait to be called back with the result', and each one is passed a callback function pointer and context for this purpose. I have not yet done the same to askappend() yet, because it will take a certain amount of reorganisation of logging.c. Importantly, this checkin means the host key dialog box now works on OS X. check-in: 2b45db1342 user: simon tags: trunk | |
|
2005-02-16
| ||
| 20:00 | ssh_do_close() should close any listening sockets associated with port-forwardings. check-in: 8934c0e310 user: jacob tags: trunk | |
| 19:47 | ssh_do_close() was only closing about half the channels. Fixed. check-in: 835f964689 user: jacob tags: trunk | |
| 17:30 | On the Mac, support for setting the line codepage and for combining characters. I've just used libcharset in macucs.c since there seemed little reason not to, and implemented combining characters by naive overprinting. It's not yet a lot of use without the ability to select a font, of course. check-in: 694ac360c6 user: owen tags: trunk | |
| 06:13 | portfwd validation was sometimes not picking up a blank source port check-in: 88587bfc5b user: jacob tags: trunk | |
| 05:56 | Fix a minor valgrind issue in dynamic port-forwarding. check-in: 16a0978eb7 user: jacob tags: trunk | |
| 05:44 | Simon suggests a better solution to valgrind's complaining about (struct Socket_tag).connected -- it should be entirely irrelevant to listening sockets. Valgrind is still happy. check-in: be6e51d68c user: jacob tags: trunk | |
| 03:01 | Oops! Didn't mean to check in the OS X Makefile; that is of course built by mkfiles.pl just like all the rest. Well spotted, Jacob. check-in: 1ec5faee2f user: simon tags: trunk | |
|
2005-02-15
| ||
| 19:47 | Minor reorganisations to WinHelp support. (Done as part of a - failed - attempt to fix `winhelp-crash', but we may as well keep them.) check-in: 10431bbf1a user: jacob tags: trunk | |
| 17:39 | Update on Mac ports. check-in: 2013140e50 user: jacob tags: trunk | |
| 16:41 | Grouping boxes for the configuration dialogue. The System 7 version is completely untested so far, but the Appearance Manager version works and looks plausible. There are still some HI Guideline spacing issues to address. check-in: 4158a49ba3 user: owen tags: trunk | |
| 16:23 | The Windows host key dialogs now have a `Help' button that should give appropriate context help, iff the help file is present. (Shame it's prey to `winhelp-crash'.) (I've perpetrated a widening of visibility of `hwnd'; the alternative, putting it into a frontend handle, seemed too likely to cause maintenance trouble if we don't also _use_ that frontend handle everywhere we now use the global `hwnd'.) check-in: 277a81e93c user: jacob tags: trunk | |
| 15:45 | Initial checkin of a native Mac OS X port, sharing most of its code with the Unix port and layering a Cocoa GUI on top. The basics all work: there's a configuration panel and a terminal window, the timing interface works and the select interface functions. The same application can run both SSH (or other network) connections and local pty sessions, and multiple sessions in the same process are fully supported. However, it's horribly unfinished in a wide variety of other ways; anyone interested is invited to read README.OSX and wince at the length and content of its `unfinished' list. check-in: 9524a62065 user: simon tags: trunk | |
| 13:22 | Add a couple of other sensible button defaults in MessageBox()s. check-in: c96098badb user: jacob tags: trunk | |
| 13:10 | Martin Radford points out that the default action for the host key confirmation dialogs should be "cancel", not "accept". check-in: bb9c323321 user: jacob tags: trunk | |
| 11:05 | The terminal window can now indicate that PuTTY is busy in various ways, by changing its mouse pointer. Currently this is only used in the (slightly- arbitrarily-defined) "heavy" bits of SSH-2 key exchange. We override pointer hiding while PuTTY is busy, but preserve pointer-hiding state. Not yet implemented on the Mac. Also switch to frobbing window-class cursor in Windows rather than relying on SetCursor(). check-in: 14b560857a user: jacob tags: trunk | |
| 06:35 | Extra note on "connection reset by peer" on Windows. Note default circumstances of cipher warning. (I haven't bothered with the similar kex warning since it doesn't come up in the default configuration, and is in any case unlikely to be common.) check-in: d5c2714533 user: jacob tags: trunk | |
|
2005-02-14
| ||
| 09:30 | Initialise (struct Socket_tag).connected in sk_register(). Again, the value could do with review. check-in: df4a929685 user: jacob tags: trunk | |
| 09:03 | Initialise (struct Socket_tag).connected in sk_newlistener() since Valgrind complained. (I _think_ this is the correct initialisation.) check-in: 5c0134a833 user: jacob tags: trunk | |
| 05:43 | Martin Prikryl points out that we weren't always initialising new "addrinfo" members of Windows SockAddr_tag; particular in sk_nonamelookup() (proxy resolution at far end) this was causing trouble. Make sure they _always_ start out NULL (since the Windows getaddrinfo() documentation doesn't make any claims about initialisation), and also initialise 'naddresses' in sk_nonamelookup() for good measure. check-in: a61944970c user: jacob tags: trunk | |
| 05:07 | WSAECONNABORTED: Soften claims + emphasise applicability to established connections, based on KB 819124. check-in: 5e014e402c user: jacob tags: trunk | |
| 01:44 | Oh, and (there's always one) remove the unnecessary extra parameter from unix_setup_config_box(). check-in: afe9d5581e user: simon tags: trunk | |
| 01:41 | Saw uxcfg.c in half down the middle, to separate out config changes that apply to all Unix-like systems from those which apply specifically to the GTK front end. check-in: cae2b163bd user: simon tags: trunk | |
|
2005-02-12
| ||
| 18:00 | Display panel titles and grouping box titles. check-in: b5209b2944 user: owen tags: trunk | |
|
2005-02-11
| ||
| 12:01 | Tidy up the host key alerts a little, and swap the Just Once and Cancel buttons so that they appear in the standard action and cancel positions. check-in: 5ef74a6569 user: owen tags: trunk | |
|
2005-02-09
| ||
| 19:25 | Mention saving mid-session and some of its wrinkles. Formatting tweaks in the same general area. check-in: 5ef7f2f090 user: jacob tags: trunk | |
| 19:04 | Document effect of settings changes on existing connections/forwardings. Also mention that service names can be used instead of port numbers. check-in: db70d0d7eb user: jacob tags: trunk | |
| 19:03 | ssh_setup_portfwd() should usually be looking at the new cfg, not the old one, so that changes to port visibility are honoured in new forwardings. check-in: 2f298ec6aa user: jacob tags: trunk | |
| 18:16 | Slightly gratuitous logeventf() crusade and purge of fixed-length buffers. Also a bonus sfree(). check-in: 0e48334e09 user: jacob tags: trunk | |
| 15:18 | Add some host key dialogue boxes. These still look a little rough around the edges and need to have all their controls properly aligned and spaced according to the HI guidelines. Also, fix store_host_key() so that it replaces a host key correctly when the host key has changed and the user opts to update the cached one. check-in: 85f028418e user: owen tags: trunk | |
| 09:57 | Improve documentation of the SCP wildcard safety issue: in particular, mention that doing an SCP wildcard download into a clean directory is adequate protection against a malicious server trying to overwrite your files. check-in: 1cc7618cf9 user: simon tags: trunk | |
| 09:42 | Missing {Question} check-in: d58402dfbf user: jacob tags: trunk | |
|
2005-02-08
| ||
| 08:13 | We _really_ don't need to hear about WSAECONNABORTED any more. check-in: a698b14861 user: ben tags: trunk | |
| 06:40 | Mention that a common reason for keys' being rejected is dodgy permissions. check-in: fa7fd252a6 user: ben tags: trunk | |
|
2005-02-07
| ||
| 17:43 | Add the new mk.mpw to the ignore list. check-in: b4e5465141 user: simon tags: trunk | |
| 14:24 | Revert my LF->CR change following Owen's comment that it actually breaks netatalk-based setups (which _swap_ LF and CR). Instead, setfile.sh (which I have to run _anyway_ on OS X) copies mkputty.mpw to mk.mpw and then makes that CR-based. check-in: 80e340bcf7 user: simon tags: trunk | |
| 09:23 | Comment explaining location in top-level directory. check-in: f458beae5d user: jacob tags: trunk | |
| 06:23 | Petri Kero pointed out a FreeLibrary() call that should be guarded by NO_IPV6. check-in: 5ad1988749 user: jacob tags: trunk | |
| 04:47 | Add a comment about the deficiencies of the host key cache implementation. check-in: 66a04eea30 user: owen tags: trunk | |
|
2005-02-06
| ||
| 09:52 | Reinstate the broken -e option in pterm. Also I've just worked out a much better way of handling pty_argv which doesn't require uxpty.c to be linked in to Unix PuTTY and PuTTYtel. check-in: 0632fdc578 user: simon tags: trunk | |
| 09:14 | Encapsulated most of the pty backend's variables into a proper data structure, in preparation for wanting more than one of them in a single process. This can't be done cleanly, because the whole business with pty_pre_init pre-allocating the pty rather assumes we want a known number of the things before we drop privileges; so there's a horrid hack to make pty_pre_init work on platforms that have at most one pty instance per process, but at the same time things ought to work sensibly with more than one per process _if_ pty_pre_init isn't required. check-in: df1c22fdcb user: simon tags: trunk | |
| 09:00 | First stab at a host key cache on the Mac. check-in: 1d8e672a89 user: owen tags: trunk | |
| 07:33 | The pty backend won't _always_ be running under X, so it should be possible to compile it without the WINDOWID variable. check-in: 7b85fe471f user: simon tags: trunk | |
|
2005-02-05
| ||
| 09:33 | When allocating BSD-style ptys, we should not be satisfied with a /dev/ptyXX we can open: we must also check that we can open and use the corresponding /dev/ttyXX, because if it's been left in the wrong mode then we will look terribly silly when we fork and _then_ discover our pty is unusable. check-in: 04b0d0c117 user: simon tags: trunk | |
| 08:50 | Implement refreshing the whole dialogue box with dlg_refresh, so that if you load a session all the panels in the configuration dialogue reflect the new settings. However, there's a glitch which paints a white rectangle between the Saved Sessions listbox and the Close-on-exit radios. check-in: 8646a1479e user: owen tags: trunk | |
| 08:46 | Added a small shell script to run enough SetFile commands to make MPW builds work after checking out on Mac OS X. check-in: 80a92bc7ce user: simon tags: trunk | |
| 08:39 | This file needs to have CR line endings for MPW to be happy with it. check-in: 7eb218aa63 user: simon tags: trunk | |
| 04:55 | Mac PuTTY.ppc wouldn't compile for me until I added this prototype. Not sure why it's been working for Owen and not me, but the prototype ought to be there anyway, so *shrug*. check-in: 322f1d77de user: simon tags: trunk | |
|
2005-02-04
| ||
| 18:29 | Times and dates in the event log, fixing ltime() in the process. check-in: d6f5e385d3 user: owen tags: trunk | |
| 18:14 | mac_pollterm() is no longer useful and can be retired. check-in: 24b5193a6e user: owen tags: trunk | |
|
2005-02-02
| ||
| 17:51 | Implement anti-replay protection for XDM-AUTHORIZATION-1, as required by the specification. We keep a cache of tickets we've seen recently and reject duplicates. Once a ticket in our cache is old enough that we wouldn't accept a duplicate anyway, we expire it. check-in: 1d0e47190a user: ben tags: trunk | |
| 15:33 | Flashing things now work as a natural consequence of the timing interface. check-in: 2e1798a5cd user: owen tags: trunk | |
| 15:18 | Make ot_recv less voracious. check-in: 502fc43066 user: owen tags: trunk | |
| 13:56 | Update the configuration when the window is resized. check-in: 991b1e8bb0 user: owen tags: trunk | |
|
2005-01-30
| ||
| 08:59 | Hide/show the scrollbar check-in: f840505864 user: owen tags: trunk | |
| 08:10 | The HI guidelines seem adamant that the File menu should never be called anything but File, and two Mac users expressed profound distress at the thought of it being called Session. File it is. check-in: 4306c8d022 user: owen tags: trunk | |
|
2005-01-29
| ||
| 16:50 | Another compiler pickiness. It feels wrong to be doing this to perfectly idiomatic code, somehow, and I half wonder whether the Mac compilers are too stupid to be allowed to treat warnings as errors. check-in: ff9e65da30 user: owen tags: trunk | |
| 16:46 | Make Change Settings do something. check-in: c5bbbb4611 user: owen tags: trunk | |
|
2005-01-28
| ||
| 17:39 | Enable the Open Transport networking implementation unless NO_OT is defined. check-in: 5117367d1a user: owen tags: trunk | |
| 07:47 | Split discussion of diabling rekeys between time-based and data-based, since disabling the former is much more useful, and much safer, than disabling the latter. The new wording on data-based rekeys might need some polishing. check-in: 08df01e69b user: ben tags: trunk | |
| 05:50 | sfree the memory dupprintf allocated check-in: 76ee7d7459 user: owen tags: trunk | |
| 05:47 | Use AF_UNIX, not AF_LOCAL, since the former is in POSIX and the latter is not. check-in: c53b6f6ed8 user: ben tags: trunk | |
| 05:39 | Overhaul of client-side XDM-AUTHORIZATION-1: * Make sk_getxdmdata() return an arbitrary string rather than two integers. This better matches the spec, even if the current version always returns six bytes * On Unix, for PF_UNIX sockets, return a counter rather than a constant along with the PID. This should allow multiple clients to connect within one second, and is what Xlib does. * On Unix, interpret AF_INET6 addresses like Xlib does, returning the embedded IPv4 address for v4-mapped addresses, and six bytes of zeroes otherwise. The latter is silly, but if I'm going to do anything more sane I need to check that X servers won't reject it. check-in: e5bafedcaf user: ben tags: trunk | |
|
2005-01-26
| ||
| 17:49 | Buffer overruns are embarassing (even if caused by user error), so assert that this one can't happen until I actually fix it. check-in: a5f438af43 user: ben tags: trunk | |
| 17:30 | Add a Change Settings dialogue box. Doesn't do anything yet. check-in: 8115201999 user: owen tags: trunk | |
| 14:18 | Move sockaddr_is_loopback() to before sk_address_is_local(), and define the latter in terms of the former. Also adjust the definition of ipv4_is_loopback() to avoid using the non-standard inet_netof() and IN_LOOPBACKNET, and move it next to its remaining uses. check-in: 8ef41e7a61 user: ben tags: trunk | |
| 13:05 | Move sk_poll() inside (!gotevent), which is more logical but doesn't have any actual beneficial effect on event handling, sadly. check-in: a2af347d3b user: owen tags: trunk | |
| 13:04 | Add ssh.h for prototypes for the X display stubs check-in: 07f3ffc93d user: owen tags: trunk | |
| 12:11 | Make a few things static check-in: 4c389d057e user: owen tags: trunk | |
|
2005-01-23
| ||
| 09:01 | Give the config window a title. check-in: 00781b36fb user: owen tags: trunk | |
| 08:31 | When checking if a connection comes from localhost, don't assume it's an IPv4 connection. Instead, correctly check IPv4 and IPv6 connections, assume that AF_LOCAL is always local, and anything else is always remote. This makes trivial local-to-remote forwarding work on my system. check-in: c6292f3f4e user: ben tags: trunk | |
|
2005-01-22
| ||
| 10:06 | Don't abuse a remote channel number of (unsigned)(-1) to indicate a channel for which we don't yet have a remote number, and instead add a flag to indicate this fact. Fixes bug ssh-remoteid-minusone. check-in: 6039240c89 user: ben tags: trunk | |
| 09:32 | When calling getaddrinfo() for a listening socket, pass in a suggested type of SOCK_STREAM, since that's what we'll be using. check-in: 8ea07ec929 user: ben tags: trunk | |
| 09:20 | Stupid typo, spotted by GCC. check-in: 86f06745c5 user: ben tags: trunk | |
| 09:19 | If getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it passes back to us, so don't. check-in: 6caff86de4 user: ben tags: trunk | |
| 08:51 | Owen's just pointed out that random_stir() is capable of recursion. I'm sure I didn't mean that to happen! Added a lock to stop it. check-in: 7efec92a4c user: simon tags: trunk | |
| 08:01 | Explicitly ignore SCI rather than translating it into DECID. Should fix bug sci-is-not-decid. check-in: 8eaf1fe1c5 user: ben tags: trunk | |
| 07:32 | Probable support for first_kex_packet_follows in KEXINIT. Not significantly tested since none of the common key-exchange protocols starts with a packet from the server, so I don't have a server that implements this. check-in: 834d6a4042 user: ben tags: trunk | |
|
2005-01-20
| ||
| 18:02 | Colours now work properly, including 256-colour stuff. Timing stuff now there, but almost certainly bogus. check-in: c0f994b601 user: owen tags: trunk | |
| 15:45 | Dispose of a variable whose only use was being set to zero. check-in: 45991831e2 user: ben tags: trunk | |
| 10:42 | Fix/bludgeon Mac compile wrinkles. check-in: 50d019225c user: owen tags: trunk | |
|
2005-01-19
| ||
| 17:30 | Add an assertion so that short-rsa2-key-crash at least avoids segfaulting while we come up with a better solution. check-in: 83675aee49 user: ben tags: trunk | |
| 11:41 | While we're here, pad USERAUTH_INFO_RESPONSEs to 256 bytes too. check-in: b1da03aeda user: ben tags: trunk | |
| 06:34 | Make the outgoing SSH2 sequence number unsigned, so as to avoid depending on overflow behaviour of signed integers. check-in: 9ab372a1fe user: ben tags: trunk | |
| 04:07 | Add a lengthy comment warning future front-end implementors about the right and wrong way to implement the timing interface. check-in: 108c4ea6f7 user: simon tags: trunk | |
|
2005-01-18
| ||
| 16:01 | Bits and pieces, mostly stubs, for the Mac port. check-in: 35d32b9f38 user: owen tags: trunk | |
| 13:09 | Yes we do mean assignment. Bah. check-in: a4d7543bf7 user: owen tags: trunk | |
| 13:04 | The terminal reengineering of r4609 left an unused `start' lying around. Remove it. check-in: b8b50be09e user: owen tags: trunk | |
| 03:38 | ssh_pkt_getstring wants a boring int rather than an unsigned int. Let's give it one. check-in: e1b90bc8b9 user: owen tags: trunk | |
|
2005-01-17
| ||
| 10:38 | Currentish ssh.com supports single-DES in SSH2 as "des-cbc@ssh.com". It seems to be entirely the same as "des-cbc", so supporting it is trivial and we may as well do so. If nothing else, it makes it clear whose fault it is. check-in: 8fabb7fcd3 user: ben tags: trunk | |
| 04:07 | Change some function arguments to void * to placate picky compilers. check-in: e8bda63d8d user: owen tags: trunk | |
|
2005-01-16
| ||
| 18:50 | In SSH2, rather than sending an SSH_MSG_IGNORE after every password, just pad the packet out to 256 bytes. Much simpler. This leavs ssh2_pkt_defer() unused, so ifdef it out. check-in: 175fa7a092 user: ben tags: trunk | |
| 08:43 | Be a little less enthusiastic about sending SSH_MSG_CHANNEL_WINDOW_ADJUST: only send it when it will significantly increase the server's idea of our window. This avoids the slew of one-byte WINDOW_ADJUSTs that an interactive shell typically generates. check-in: 0268510fc1 user: ben tags: trunk | |
| 08:33 | Mac SC compiler whinges about trailing commas in enums check-in: 3758a51734 user: owen tags: trunk | |
| 08:29 | Support for falling back through the list of addresses returned from a DNS lookup, whether they're IPv4, v6 or a mixture of both. check-in: d774282d73 user: simon tags: trunk | |
| 08:14 | Make our SSH2 maximum packet size into a constant, since it's used in several places. check-in: bb2febbcff user: ben tags: trunk | |
| 08:02 | Owen tells me the Mac compiler complains at a char / unsigned char mismatch in the invocation of hmacmd5_key(). Do it properly with a void * argument. check-in: 7b7d4829ed user: simon tags: trunk | |
| 07:40 | Add minibidi to Mac PuTTY objects check-in: 8a93208499 user: owen tags: trunk | |
| 06:37 | Rewrite of Unix sk_newlistener() which should fix any possible problems involving trying to bind an IPv6 socket to an IPv4 address. check-in: f1b4410202 user: simon tags: trunk | |
|
2005-01-15
| ||
| 14:39 | Turn of ICRNL in the client tty when we're not in editing mode. This means that we send literal CRs and let the remote pty layer work out what to do with them, so that if it wants raw mode it can have it. check-in: 4bdb86742e user: ben tags: trunk | |
| 12:30 | FWHACK has been dead for years. Remove it from the Makefiles. check-in: 3e4c94b2d7 user: ben tags: trunk | |
| 11:28 | Fix prototypes for mactcp_new and ot_new. check-in: 00cfc31784 user: owen tags: trunk | |
| 11:16 | Throw away "./" in findfile so that the Mac makefile has valid paths. check-in: 8ea6b14ef5 user: owen tags: trunk | |
|
2005-01-14
| ||
| 13:28 | INADDR_NONE is nonstandard. Use (in_addr_t)(-1) instead. check-in: 746221d47e user: ben tags: trunk | |
| 06:26 | Don't use GNUish pattern rules in the Unix Makefile, since they're not supported by non-GNU makes. This allows the standard Solaris /usr/ccs/bin/make to handle that Makefile. check-in: a7aa20415e user: ben tags: trunk | |
|
2005-01-13
| ||
| 15:50 | Mention Cygwin/X as a potential X server, since it's free. check-in: 7bacb09766 user: ben tags: trunk | |
|
2005-01-11
| ||
| 13:33 | Fix `disconnect': arrange that we keep track of when we're expecting to see the server slam the TCP connection shut (i.e. almost never, unless it's just sent us an SSH_MSG_DISCONNECT), and treat an unexpected closure as a non-clean session termination. Previously any server-initiated connection closure was being treated as a clean exit, which was a hangover from the good old Telnet-only days. check-in: cffc0c078a user: simon tags: trunk | |
| 10:33 | Versions of OpenSSH before 2.5.4 kill the connection if the client attempts to rekey. Extend the description of SSH2_BUG_REKEY to cover this situation and apply it to the relevant OpenSSH versions. check-in: 7b589f12f9 user: ben tags: trunk | |
| 09:33 | Bah, I left a rogue event log entry lying around. check-in: 885c74ec18 user: simon tags: trunk | |
| 07:24 | Sun_SSH_1.0.1 also has BUG_SSH2_REKEY. check-in: a46b1af183 user: ben tags: trunk | |
| 04:45 | The Unix `make install' target now allows you to define UTMP_GROUP, in which case pterm will be installed setgid that, or to define UTMP_USER in which case it will be installed setuid that. If you define neither, it will be installed without any set-id bits as before. check-in: 956cdd1384 user: simon tags: trunk | |
| 04:37 | Servers announcing themselves as `Sun_SSH_1.0' apparently cannot deal with rekeys at all: they totally ignore mid-session KEXINIT sent by the client. Hence, a new bug entry so we don't try it. check-in: ed28fd9a5d user: simon tags: trunk | |
|
2005-01-09
| ||
| 08:55 | sk_namelookup() on Unix was failing to translate from our platform- independent ADDRTYPE_* constants to real AF_* ones, causing explicit protocol specification to fail. check-in: b98c6290a2 user: simon tags: trunk | |
| 08:45 | Remove unwanted underscore. check-in: 77e38f22b1 user: owen tags: trunk | |
| 08:27 | New function ltime() returns a struct tm of the current local time. Fixes crashes when time() returns (time_t)-1 on Windows by using the Win32 GetLocalTime() function. (The Unix implementation still just uses time() and localtime().) check-in: b5b804da44 user: owen tags: trunk | |
| 05:58 | Having laboriously constructed a hints parameter for getaddrinfo, it would help to _use_ it! check-in: 74977dc42d user: simon tags: trunk | |
| 05:44 | I've changed my mind about what the IP version selection options in the config should do when IPv6 is configured out. They shouldn't sit there looking silly with only `Auto' and `IPv4' settings: they should instead be completely absent. I had thought the former was acceptable since IPv4-only was a configuration that people should only be using if their compilers didn't support IPv6, but now it occurs to me that ports to fundamentally non-IPv6-supporting platforms are not implausible, and on such ports the presence of a vestigial config option under the _standard_ build conditions would be a low-quality solution. check-in: b0fa9fd94c user: simon tags: trunk | |
|
2005-01-08
| ||
| 08:45 | For local and dynamic port forwardings (i.e. the ones which listen on a local port), the `Auto' protocol option on the Tunnels panel should always produce a port you can connect to in _either_ of IPv4 and v6, because the aim is for the user not to have to know or care which one they're using. This was not the case on Windows, and now is. Also, updated the docs to give more detail on issues like this. check-in: f307208157 user: simon tags: trunk | |
| 08:02 | Cleanups to sk_namelookup(). In particular, it now doesn't segfault if you explicitly specify IPv6 and then try to look up a hostname which doesn't have an IPv6 address. check-in: 096be4666f user: simon tags: trunk | |
| 07:28 | Clear the kex-specific context in ssh->pkt_ctx for every new key exchange. Without doing this, after we have done one specific-group DH exchange (group1 or group14), ssh2_pkt_type _always_ translates 30 and 31 as KEXDH_INIT and KEXDH_REPLY, making a subsequent group-exchange kex look rather strange in an SSH packet log. check-in: 779096703f user: simon tags: trunk | |
| 07:08 | Jacob points out that changing TICKSPERSEC in unix.h changed the meaning of BellOverload{T,S} in Unix saved sessions. Add a Unix- specific backwards compatibility wart to settings.c to compensate. Of course when I do the serious config format revamp, I will ensure that no config item depends on internal #defines (these time intervals will be specified as a floating-point number of seconds) and this horror will be relegated to the old-config-compatibility code. check-in: 0b3bd20177 user: simon tags: trunk | |
|
2005-01-07
| ||
| 10:55 | Simon points out that r5068 broke keyboard-interactive with multiple INFO_REQUESTs, and for some reason Debian OpenSSH is sending INFO_REQUESTs containing no prompts after a normal password authentication, so this should fix Shai's problem. check-in: 8f61fc5781 user: jacob tags: trunk | |
| 09:25 | Update faq-bce further for changes in 0.54. check-in: c9b14f9851 user: jacob tags: trunk | |
| 08:22 | Proxy command formatting now recognises `%proxyhost' and `%proxyport' in addition to the other things it interpolates. This is useful when using the Unix-only `Local' proxy type: it allows me to, for example, set up a proxy command such as ssh %proxyhost nc -q0 %host %port and then enter the name of the proxy machine in `Proxy hostname', which makes it marginally more convenient to quickly change to using a different proxy to get at the same target. I haven't documented this, because we currently don't document the Local proxy type at all. Possibly we should, though. check-in: e7bfc6f3eb user: simon tags: trunk | |
| 03:24 | Use sk_set_frozen() to ensure that no data will be accepted from an SSH connection when we're in the middle of asking the user a dialog-box-type question. Fixes `unix-kex-packet', which has just bitten me when connecting to one of the work Suns. check-in: 65b1240966 user: simon tags: trunk | |
|
2005-01-06
| ||
| 11:05 | Add an explicit message about lack of support for PASSWD_CHANGEREQ in a half-hearted attempt to flush out any uses of it. check-in: a79322b17b user: jacob tags: trunk | |
| 09:47 | I can't believe that after all this time we still had a rogue set of `' quotes! Changed to \q{}. check-in: e8f108306c user: simon tags: trunk | |
| 07:23 | `kbdint-failure': we now offer keyboard-interactive auth to the user for as long as the server offers it, rather than only once, unless the server responds to our initial USERAUTH_REQUEST("keyboard-interactive") with FAILURE, in which case we give up on it entirely. check-in: 3f7f4f0136 user: jacob tags: trunk | |
| 06:37 | Try to make it clearer that "-be" and "-bc" must be specified in _addition_ to "-b batchfile". check-in: 8773e36e4b user: jacob tags: trunk | |
|
2005-01-04
| ||
| 11:39 | Don't forget to initialise ret->ai to NULL in sk_nonamelookup. Was causing segfaults in IPv6-enabled Unix PuTTY connecting through a proxy when letting the proxy do the DNS. check-in: 3df2181140 user: simon tags: trunk | |
| 08:37 | If we're going to use select(), we need <sys/select.h>. check-in: e32d59fc67 user: ben tags: trunk | |
|
2005-01-02
| ||
| 07:17 | colon in kex UI check-in: cfb5a7b051 user: jacob tags: trunk | |
| 03:19 | It's a new year! check-in: 0dcd4c8d0c user: simon tags: trunk | |
|
2005-01-01
| ||
| 10:43 | Localise "not connected to a host" messages. check-in: 2497e12c47 user: jacob tags: trunk | |
| 10:35 | Now that rm, mkdir, and rmdir can operate on lots of files, make them more chatty like the other multiple-file commands. check-in: 4363630adb user: jacob tags: trunk | |
| 10:16 | Document recent changes to PSFTP (and other documentation tweaks). check-in: 87aa86cb7f user: jacob tags: trunk | |
| 08:06 | Remove rogue sfree()s inside new wildcard action functions -- were causing segfaults in failure cases. check-in: 394dfda4b4 user: jacob tags: trunk | |
| 07:01 | There's always one: fix small memory leak introduced in last revision. check-in: becb9e9fd7 user: simon tags: trunk | |
| 06:34 | "Nirwana Nirwana" points out that mget, mput and ls are not the only PSFTP commands that can make good use of wildcards! Now implemented wildcard support in rmdir, rm, mv and chmod. check-in: cb00dfec44 user: simon tags: trunk | |
|
2004-12-31
| ||
| 13:06 | A couple of people have pointed out that the local variable `reading' in this file is not reliably initialised. check-in: 3d18309490 user: simon tags: trunk | |
| 07:02 | Rename some of the more stupidly named files in the Unix back end. Notably pterm.c, which was a sensible name right at the start but became a misnomer as soon as I created Unix PuTTY. check-in: afc775a19a user: simon tags: trunk | |
| 05:46 | In r5043 Jacob removed the `Load' and `Delete' buttons in the saved- sessions panel in the reconfig box. I think, given that, the title of that box also wants work :-) check-in: abaca4dd76 user: simon tags: trunk | |
| 04:51 | Allow reconfiguration of compression and cipher settings in mid-session in SSH2: this forces an immediate rekey to activate the new settings. I'm not sure exactly what this will be useful for (except possibly it might make comparative performance testing easier?), but it has wonderful James Bond value for being able to switch to a more secure cipher before doing anything sensitive :-) If, that is, you weren't using the most secure one to begin with... check-in: 6bca0a2afd user: simon tags: trunk | |
|
2004-12-30
| ||
| 11:53 | Reinstate the textual service name in port forwarding Event Log messages where specified. (I had removed this in the previous revision through forgetfulness.) check-in: 084642d5c1 user: simon tags: trunk | |
| 11:48 | Jacob points out that when we reconfigure port forwarding, we ought to be destroying old ones _before_ creating new ones, so that we can reuse a port for a new purpose without colliding with ourselves. Also fixed port forwarding, which my IPv6 checkin had completely funted :-) check-in: 3e59d470f1 user: simon tags: trunk | |
| 11:29 | If we're going to define _XOPEN_SOURCE, we should at least define it to a version that includes putenv(). Make it 600 (the current one) for good measure. check-in: a7dc2dc328 user: ben tags: trunk | |
| 10:45 | Integrate unfix.org's IPv6 patches up to level 10, with rather a lot of polishing to bring them to what I think should in principle be release quality. Unlike the unfix.org patches themselves, this checkin enables IPv6 by default; if you want to leave it out, you have to build with COMPAT=-DNO_IPV6. I have tested that this compiles on Visual C 7 (so the nightlies _should_ acquire IPv6 support without missing a beat), but since I don't have IPv6 set up myself I haven't actually tested that it _works_. It still seems to make correct IPv4 connections, but that's all I've been able to verify for myself. Further testing is needed. check-in: 99d7fec46d user: simon tags: trunk | |
| 09:29 | Stray // comments. check-in: a7351a8274 user: simon tags: trunk | |
| 07:51 | I've decided that trying to do wildcards in PSFTP as a special case of directory recursion was a strategic error: it obfuscates sftp_{get,put}_file(), and also it makes it very hard to handle subdirectory wildcards such as `foo/*'. Accordingly, here's a completely different approach, in which sftp_{get,put}_file() are still responsible for directory recursion, but wildcards are expanded in sftp_general_{get,put}() before being passed thereto. Subdirectory wildcards are now handled consistently across Unix, Windows and the remote server. check-in: 46c1373c46 user: simon tags: trunk | |
| 04:58 | Remove "Load" button in mid-session configuration dialog, as it allows the user to manipulate settings they can't see so could lead to confusion. (Also remove "Delete" button for some sort of UI consistency even though it's harmless.) Also conditionalise other aspects of sessionsaver_handler() that don't make sense mid-session. check-in: 711d82ee73 user: jacob tags: trunk | |
|
2004-12-29
| ||
| 07:44 | Add some discussion of rekeys-as-keepalives, and their potential adverse effect on the life expectancy of a low-use connection over a low-reliability network. check-in: be824f099e user: simon tags: trunk | |
| 06:32 | Loose end from r5031: the Kex panel should only be displayed in mid-session if we are not using SSHv1. I've done this by introducing a generic `cfg_info' function which every back end can use to communicate an int's worth of data to setup_config_box; in SSH that's the protocol version in use, and in everything else it's currently zero. check-in: 8cec6d493a user: simon tags: trunk | |
|
2004-12-28
| ||
| 11:12 | The latest unfix.org IPv6 patch contains these apparently IPv6-unrelated changes, which convert ints into unsigned in a few key places in ssh.c. Looks harmless at worst, possibly terribly useful, so I think we'll have these no matter what the real IPv6 stuff is up to! check-in: 23840b0529 user: simon tags: trunk | |
| 10:46 | Ability to save in mid-session! Simplest possible resolution to all the difficult questions about when it's sensible to offer the option of saving to the slot we loaded from: _we never do_. The user must always explicitly specify a slot to save to. check-in: 9a448e7d3f user: simon tags: trunk | |
| 10:18 | Forgot to initialise ssh->portfwds to NULL. Unusually, this was pointed out by the MSVC debugger, not by valgrind :-) check-in: 8a11a858c7 user: simon tags: trunk | |
| 08:11 | Can't use `d' for an accelerator in the Kex panel, since it clashes with the `d' used for the Down button in the Windows preference list. check-in: c74909c32f user: simon tags: trunk | |
| 08:10 | Support reconfiguration of key exchange in mid-session. The fiddly bit is working out when to reschedule the next rekey for when the timeout or data limit changes; sometimes it will be _right now_ because we're already over the new limit. Still to do: the Kex panel should not appear in mid-session if we are using SSHv1. check-in: 25f79c1e9a user: simon tags: trunk | |
| 08:07 | SSH port forwarding is now configurable in mid-session. After doing Change Settings, the port forwarding setup function is run again, and tags all existing port forwardings as `do not keep'. Then it iterates through the config in the normal way; when it encounters a port forwarding which is already in the tree, it tags it `keep' rather than setting it up from scratch. Finally, it goes through the tree and removes any that haven't been labelled `keep'. Hence, editing the list of forwardings in Change Settings has the effect of cancelling any forwardings you remove, and adding any new ones. The SSH panel now appears in the reconfig box, and is empty apart from a message explaining that it has to be there for subpanels of it to exist. Better wording for this message would be welcome. check-in: 771c5deefb user: simon tags: trunk | |
| 08:04 | Abstracted out the rather large port-forwarding setup code into a routine which is common between SSH1 and SSH2. Since this routine is not part of the coroutine system, this means it can't sit and wait to get its various success/failure responses back. Hence, I've introduced a system of queued packet handlers, each of which waits for exactly one of a pair of messages (SSH1_SMSG_{SUCCESS,FAILURE} or SSH2_MSG_REQUEST_{SUCCESS,FAILURE}), handles it when it arrives, and automatically de-registers itself. Hence the port-forwarding setup code can be called once, and then subsequent packets related to it will automatically be handled as they arrive. The real purpose of all this is that the infrastructure is now there for me to arrange mid-session configurability of port forwarding. However, a side benefit is that fewer round trips are involved in session startup. I'd quite like to move more of the connection setup (X forwarding, agent forwarding, pty allocation etc) to using the new queued handler mechanism for this reason. check-in: 5c871b121e user: simon tags: trunk | |
| 08:04 | Fix divide overflow in internal_mod(). Thanks to William Petiot for spotting a special case that the DIV instruction can't quite cover. check-in: 7f128afe0a user: simon tags: trunk | |
|
2004-12-24
| ||
| 07:39 | Basic configurability for client-initiated rekeys. check-in: 10eff8e7d3 user: jacob tags: trunk | |
| 04:04 | Don't offer repeat key exchange as a special command in SSH-1. check-in: 7730aea1d9 user: jacob tags: trunk | |
|
2004-12-22
| ||
| 23:54 | Minimally document "repeat key exchange" special command. check-in: ece0722d35 user: jacob tags: trunk | |
| 20:24 | Add a preference list for SSH-2 key exchange algorithms, on a new "Kex" panel (which will gain more content anon). Retire BUG_SSH2_DH_GEX and add a backwards-compatibility wart, since we never did find a way of automatically detecting this alleged server bug, and in any case there was only ever one report (<3D91F3B5.7030309@inwind.it>, FWIW). Also generalise askcipher() to a new askalg() (thus touching all the front-ends). I've made some attempt to document what SSH key exchange is and why you care, but it could use some review for clarity (and outright lies). check-in: c0c1b1745c user: jacob tags: trunk | |
| 17:17 | Fix potential access of freed data (only if we couldn't create the second of two registry keys, so pretty unlikely). check-in: d6440b9496 user: jacob tags: trunk | |
| 04:53 | Support diffie-hellman-group14-sha1 group exchange. Tested against locally built OpenSSH 3.9, and seems to work fine. check-in: 1716598298 user: simon tags: trunk | |
| 04:21 | In my revamp of cursor handling I had assumed that you were supposed to call _either_ do_text() _or_ do_cursor() on a given character cell. In fact you're supposed to call do_text() no matter what, and then call do_cursor() as well if it's got the cursor on it, since do_cursor() _only_ draws the actual cursor, which often doesn't also cause the text to get drawn. I'm half tempted to change this in the interface, retire do_cursor() as an external function and relegate it to an internal function in each front end, and require that do_text() must fully process all cursor attributes it is passed. However, I haven't done this yet. check-in: ec3c52848a user: simon tags: trunk | |
|
2004-12-20
| ||
| 03:27 | The end condition in the binary search loop in the new getType() was incorrect. I must have written that binary search idiom a hundred times, so it's rather embarrassing that I can't _automatically_ get it right! This was causing all kinds of characters to be classified as ON when they should have been various other classes. Also while I'm here, I've added another test case to utf8.txt (a small piece of Arabic within a predominantly L->R line), and also supplied a means to compile minibidi.c with -DTEST_GETTYPE to produce a command-line character class lookup tool. (Not sure what use that'll be _other_ than debugging this precise problem, but I don't like to throw it away now I've written it :-) check-in: d5e3c234a7 user: simon tags: trunk | |
|
2004-12-19
| ||
| 17:37 | Restore border around terminal to default background colour rather than something outside colours[] (consistently brown on my system). (I don't understand why this code was the way it was, but it gave the correct result before r4917 `256-colours', and now doesn't.) check-in: 0302a088bc user: jacob tags: trunk | |
| 17:15 | Correct number of configurable colours (NCFGCOLOURS) to match reality (leftover from `256-colours', r4917). check-in: dd7d41edc3 user: jacob tags: trunk | |
| 16:37 | Fix line cursor colours (fallout from `256-colours'), on both Windows and Unix. check-in: fc8fba4a2e user: jacob tags: trunk | |
|
2004-12-18
| ||
| 05:34 | Make sure the docs in a Unix release tarball are generated with the correct version info. check-in: 61da0dbc9d user: jacob tags: trunk | |
| 04:46 | Missed options off mput help check-in: 8b8fc6fa16 user: jacob tags: trunk | |
| 04:00 | zip apparently gives a warning (`-l used on binary file') when you use -l on a UTF-8 text file. Move potentially UTF-8 things (the new testdata files) into a new category of source files, and suppress zip's warning for that category. check-in: 63ce6ba766 user: simon tags: trunk | |
|
2004-12-17
| ||
| 08:25 | Jacob has pointed out why SIGCHLD was blocked, so I've updated the comment when I unblock it in pty.c to reflect reality. Also I've moved block_signal() out of pterm.c into signal.c, so I can conveniently use it for unblocking SIGCHLD rather than having to reinvent it in pty.c. check-in: e6e6127715 user: simon tags: trunk | |
| 07:39 | The xfer mechanism wasn't gracefully terminating when an error was encountered part way through transfer. In particular, this caused psftp to hang (waiting for FXP_READ replies which had already arrived) if you try `get' (without -r) on a remote directory. check-in: 9b4c7b154a user: simon tags: trunk | |
| 07:00 | Document recent SFTP changes: - document behaviour of "-r" with mget/mput/reget/reput - document "close" command - document SFTP wildcard syntax for those who may not be familiar with Unix wildcards check-in: d7c8b9fbfa user: jacob tags: trunk | |
| 06:55 | I _think_ I've just fixed `font-overflow'. term->disptext now tracks the start of every contiguous run passed to do_text() or do_cursor(), and arranges never to overwrite only part of such a run on the next update. I'm a bit worried about this checkin because I've also completely revamped cursor handling: the cursor was previously being drawn _outside_ the main loop over the display line, and is now drawn as part of that loop when it gets to the cursor location. It _seems_ to still work sensibly, even in complex cases involving LATTR_WIDE and double-width CJK characters etc, but I won't be entirely happy until it's had some beta use. check-in: b868941b5d user: simon tags: trunk | |
| 06:15 | Update online help for "-r" and "--" options to get/put commands. Use command name in error messages rather than hardcoded "get:"/"put:". check-in: ce3882214d user: jacob tags: trunk | |
| 05:37 | Divide the do_paint() loop into several subloops. The activity of going through the line and working out which bits need to be redrawn is now in a separate loop from the subsequent activity of actually going through and doing the redraws. This _should_ enable me to tinker with the which-bits-to-redraw data in between the two, thus fixing `font-overflow'. However, I thought it would be sensible to break the work up into two commits so we can track bugs in the restructuring separately from bugs introduced by the new feature. Also added a couple more terminal test files. check-in: 529f5d4832 user: simon tags: trunk | |
| 05:24 | I had apparently broken wrapping of double-width characters (again). Also fixed the new UTF-8 test file so that it tests double-width wrapping both with _and_ without LATTR_WRAPPED2. check-in: 5f0baf2cd5 user: simon tags: trunk | |
| 05:18 | I'd rather not keep losing these little test files, so here's some stuff that I can `cat' into a terminal to test particular features of it. check-in: 82be78c949 user: simon tags: trunk | |
| 03:43 | Apparently SIGCHLD is blocked by default in processes run in a pterm, which was breaking my bash job notification patch. This is apparently not the case for xterm, so I've fiddled with it. Not entirely sure _why_ it did this in the first place, but there we go. check-in: 1d52612956 user: simon tags: trunk | |
|
2004-12-16
| ||
| 13:36 | General mechanism for ensuring a dodgy SFTP server can't return malicious filenames via FXP_READDIR. check-in: c846e64623 user: simon tags: trunk | |
| 13:19 | Implement the `close' command, which terminates an SFTP session but does not quit PSFTP, so you can then issue another `open' to connect to somewhere else. This has apparently been trivial for some time, for exactly the same reasons that `reuse-windows' was so easy, but it hadn't occurred to me to actually do it until now. check-in: 54f8df664d user: simon tags: trunk | |
| 13:15 | Jacob points out that I introduced a bug in PSFTP when I did the timing shakeup: just running `psftp' caused the net/stdin select loop (on both Unix and Windows) to get confused at the lack of any network connection and give up immediately. Should now be fixed. check-in: 7f1a80cc9d user: simon tags: trunk | |
| 11:45 | Wildcards in `ls'. I think that completes `psftp-multi'. Woo! check-in: 23bacbfd9f user: simon tags: trunk | |
| 11:35 | Implement mget and mput in PSFTP, supporting wildcards. check-in: 292ea1d038 user: simon tags: trunk | |
| 10:37 | Support for recursive file transfer in PSFTP. check-in: 8d0de62bb0 user: simon tags: trunk | |
| 09:38 | Fix obviously stupid segfault. Ahem. check-in: 95d7fcd0a1 user: simon tags: trunk | |
| 09:22 | Abe Crabtree complains that flushing the log file as often as we do in 0.56 results in unacceptable performance for him on Win2000. Add a checkbox to revert to the old behaviour. check-in: e3ced0602f user: jacob tags: trunk | |
| 09:01 | Rename scp.* to pscp.*, because I always misspell it that way. Also it's more consistent with PSFTP like this: scp.c/pscp.c is more similar to psftp.c (the main application framework) than it is to sftp.c (a set of back-end library routines). check-in: 769189a6e0 user: simon tags: trunk | |
|
2004-12-10
| ||
| 05:41 | Unix PSCP was tight-looping when connecting through a ProxyCommand. Turned out that sk_localproxy_close() was closing the pipe fds without removing them from the uxsel list. check-in: d33391ac70 user: simon tags: trunk | |
|
2004-12-08
| ||
| 13:41 | Replace the RLE-based getType() function with one that binary- searches a list of (start,end,type) tuples. This increases data size by about 5Kb, which is a shame; but on the plus side, it boosts performance from O(N) to O(log N). As an added bonus, the table now covers _all_ of Unicode, not just the BMP. check-in: 2a29cfc6ba user: simon tags: trunk | |
| 13:07 | Further clarity and speed cleanups of minibidi: - rewrote the reversal loop in flipThisRun to be considerably clearer - rewrote leastGreaterOdd and leastGreaterEven as bit-twiddling macros - replaced malloc/free with snewn/sfree - lost some gratuitous repeat calls of getType on the same character And most noticeably: - got rid of minibidi.h, since it was entirely full of minibidi.c internals (including constant data definitions!) and wasn't used to provide an external interface at all. Everything in it has been folded into minibidi.c. check-in: 6a1f4de516 user: simon tags: trunk | |
|
2004-12-07
| ||
| 12:18 | Reformat minibidi.[ch] in line with my coding conventions. It was just getting to be too much hassle trying to work with the existing indentation. check-in: 7c396881dd user: simon tags: trunk | |
| 12:10 | Bidi stability work. I _think_ I've now removed all the failures of array bounds checking. check-in: 985fa45e60 user: simon tags: trunk | |
| 05:50 | Fix segfault when HOME not set on Unix. check-in: 64f18d2b49 user: owen tags: trunk | |
|
2004-12-02
| ||
| 07:48 | \n and \r need double backslashes in Halibut. check-in: b51bd05d37 user: simon tags: trunk | |
| 07:37 | NULL a couple of members after freeing them in ssh_free(). In particular, should stop ssh_do_close() accessing freed ssh->channels when invoked later from ssh_free(). Spotted by Fred Sauer. (Perhaps this is the cause of the crashes people have been reporting on abnormal closures such as `Software caused connection abort'? I've not been able to test this.) check-in: f3f0eafa38 user: jacob tags: trunk | |
| 07:07 | Mention our assumptions about the execution character set. Not very well-written, since my brain is largely absent today. check-in: 70c76c16bd user: ben tags: trunk | |
|
2004-12-01
| ||
| 09:34 | Bah. Ben points out that SSH_1_ version strings should still end in \n, and also that `\r' and `\n' don't mean what I think they mean on all compilers (Mac reverses them). check-in: 5cfe4be596 user: simon tags: trunk | |
| 07:42 | And now I look at it, the latest draft also says version strings should be followed by \r\n, not just \n. check-in: 138a06123c user: simon tags: trunk | |
| 07:37 | Kimmo Parviainen points out that SSH software version strings have restrictions on the use of hyphens and spaces. check-in: 9b824c14f2 user: simon tags: trunk | |
| 03:25 | term_bidi_cache_store() now has a need to distinguish between the _width_ of a terminal line (number of character cell positions) and its _size_ (number of termchars), since of course these differ in the presence of combining characters. check-in: 3182fb76d5 user: simon tags: trunk | |
|
2004-11-30
| ||
| 07:39 | Fix large memory leak introduced in the r4915 bidi changes. check-in: 19cb7e3f26 user: simon tags: trunk | |
|
2004-11-29
| ||
| 19:07 | Another default-background fix for 256-colour mode check-in: da93f608bb user: jacob tags: trunk | |
| 10:58 | Nitpick, close bracket. check-in: 1305136e4a user: owen tags: trunk | |
| 05:31 | Some blurb about terminal types and 256-colour xterms. Thanks to Dan Nicolaescu for the suggestion. check-in: 38b8c1bf4d user: simon tags: trunk | |
| 03:40 | rm '$Source$' from comments as not meaningful under Subversion check-in: 42e6df4e40 user: jacob tags: trunk | |
| 03:27 | typo in comment check-in: c12759e021 user: jacob tags: trunk | |
| 03:23 | Briefly document the "CP866" manual-entry feature on Windows in the dialog itself (since we have a bit of room). check-in: cdce670586 user: jacob tags: trunk | |
|
2004-11-28
| ||
| 09:18 | Bah, there's always one thing I miss. Correct the background-colour handling in Unix PuTTY. check-in: b306166356 user: simon tags: trunk | |
| 09:13 | Implement xterm 256-colour mode. check-in: 1d10fbc8cf user: simon tags: trunk | |
| 03:32 | Stability fixes (thanks valgrind). check-in: 0f2074ec6b user: simon tags: trunk | |
| 03:24 | Cursor position, selection highlights and mouse clicks are now all transformed back and forth according to the character position permutation output from the bidi algorithm. I was expecting that to be a lot harder. check-in: fcf7a639b6 user: simon tags: trunk | |
|
2004-11-27
| ||
| 18:48 | Oops; forgot to add this file in r4913. check-in: 2f7ca41897 user: simon tags: trunk | |
| 13:56 | Loose end from timing shakeup: sshrand.c is now a client of timing.c, and hence takes its own responsibility for calling noise_regular() at regular intervals. Again, this means it will be called consistently in _all_ the SSH-speaking tools, not just those in which I remembered to call it! check-in: 4150c7ebb8 user: simon tags: trunk | |
| 13:41 | Changes in startup order to ensure any subsystem which might attempt to schedule timers is not started until after hwnd is initialised. check-in: 25fee5edd7 user: simon tags: trunk | |
| 13:34 | Slight improvement to cursor blink timing: since the cursor doesn't blink when the window doesn't have focus, we don't schedule blink timers at that point either. Infrastructure change: term->has_focus should now not be written directly from outside terminal.c. Instead, use the function term_set_focus, which will sort out the blink timers as well. check-in: 7a1f0222f8 user: simon tags: trunk | |
| 09:32 | Almost _all_ of the final connection-layer loop, in both SSH1 and SSH2, is now handled by the packet dispatch table. Dispatch table entries are enabled as soon as possible, so that if anyone tries to (for example) start using a forwarded port before the main shell session setup has finished, things should work sensibly. The SSH code is now a hybrid of coroutine-based sequential logic and table-driven event dispatch, each where it makes the most sense. I'm rather pleased with it. Should fix: ext-data-at-start, portfwd-at-start. check-in: b15612d1c4 user: simon tags: trunk | |
| 08:29 | Implement client-initiated rekeys after an hour, or after 1Gb of data transfer in either direction (whichever comes first), or at explicit client request (nice idea Jacob). Have tested by lowering the limits, and it all seems solid enough; in particular, this has also allowed me to test the behaviour when connection-level data is received during rekey, and that looks fine too (at least it does _now_ :-). check-in: a58a9529c0 user: simon tags: trunk | |
| 07:31 | Bah, I knew I'd miss _something_. term_out is now static, so declaring it in putty.h gives a warning under Unix. check-in: 2f29b2a9ed user: simon tags: trunk | |
| 07:20 | New timing infrastructure. There's a new function schedule_timer() which pretty much any module can call to request a call-back in the future. So terminal.c can do its own handling of blinking, visual bells and deferred screen updates, without having to rely on term_update() being called 50 times a second (fixes: pterm-timer); and ssh.c and telnet.c both invoke a new module pinger.c which takes care of sending keepalives, so they get sent uniformly in all front ends (fixes: plink-keepalives, unix-keepalives). check-in: 683ee6bed3 user: simon tags: trunk | |
|
2004-11-25
| ||
| 07:40 | uint64_decimal() incorrectly output 0 as "" instead of "0". This only affected PSFTP's "reput" chat. Spotted by Greg Parker. check-in: b78a11829c user: jacob tags: trunk | |
|
2004-11-24
| ||
| 14:35 | Re-architected the top level of the SSH protocol handlers. ssh1_protocol() and ssh2_protocol() are now high-level functions which see _every_ SSH packet and decide which lower-level function to pass it to. Also, they each support a dispatch table of simple handler functions for message types which can arrive at any time. Results are: - ignore, debug and disconnect messages are now handled by the dispatch table rather than being warts in the rdpkt functions - SSH2_MSG_WINDOW_ADJUST is handled by the dispatch table, which means that do_ssh2_authconn doesn't have to explicitly special-case it absolutely every time it waits for a response to its latest channel request - the top-level SSH2 protocol function chooses whether messages get funnelled to the transport layer or the auth/conn layer based on the message number ranges defined in the SSH architecture draft - so things that should go to auth/conn go there even in the middle of a rekey (although a special case is that nothing goes to auth/conn until initial kex has finished). This should fix the other half of ssh2-kex-data. check-in: 3ffc78a463 user: simon tags: trunk | |
| 13:53 | random_init() should be called at most once during the running of PuTTY, even if it's managing multiple sessions. check-in: 39b712e47a user: simon tags: trunk | |
| 13:23 | Now that Packet structures are dynamically allocated, it means we can keep several of them in parallel. In particular, this allows us to queue outgoing packets during repeat key exchange, to be actually sent after the rekey completes. (This doesn't fully fix ssh2-kex-data; also required is the ability to handle _incoming_ connection-layer packets during rekey without exploding.) check-in: be91e5a407 user: simon tags: trunk | |
| 12:45 | Minor refactoring: the fields `pktin' and `pktout' in the Ssh structure have been retired. Now all Packet structures are dynamically allocated. Each rdpkt function allocates one, and it's freed after being used; and the packet construction functions allocate them too, and they're freed by the send functions. `pktin' and `pktout' were ugly. They were _morally_ still global variables; even though they were replicated per SSH session to comply with the Mac no-globals requirement, they weren't really in the _spirit_ of `dynamically allocate your data'. As a side effect of this change, the `pktout_blanks' and `pktout_nblanks' fields in the Ssh structure have been moved into the Packet structure. check-in: 55fff29d00 user: simon tags: trunk | |
| 05:42 | I think rjk meant `setpgid', not `setpgrp'. check-in: ef747fcdbc user: simon tags: trunk | |
| 05:36 | RJK's OS X portability patch: - initialise blank mbstate_t using memset rather than an ad-hoc initialiser. - expand the OMIT_UTMP ifdefs to enclose a load of entire functions that would generate `static function never called' warnings if left as empty shells. - couple of other fiddly things. check-in: d8510637ed user: simon tags: trunk | |
| 05:35 | It's probably about time I took my private path to the Halibut binary out of the PuTTY docs Makefile. Instead, I expect to find Halibut as simply `halibut' on the PATH, and anyone who doesn't have it there can always do `make HALIBUT=/path/to/halibut'. check-in: ba11d868ac user: simon tags: trunk | |
|
2004-11-23
| ||
| 21:18 | \k --> \K check-in: b32223caeb user: jacob tags: trunk | |
| 10:43 | Darek Olszewski points out that telnet->ldisc is never initialised to NULL. check-in: 72fd066536 user: simon tags: trunk | |
|
2004-11-22
| ||
| 07:49 | Fix typo in term_size(), flagged by a Dr Watson log from Temme Rainer. check-in: a66ea5ad2e user: simon tags: trunk | |
| 06:42 | Minor index tweakery. check-in: 23767676d8 user: simon tags: trunk | |
| 05:02 | Trivial bug fix pointed out by Paul Fox: potentially missing fclose(). check-in: 3c03a1f730 user: simon tags: trunk | |
|
2004-11-20
| ||
| 13:07 | Add missing backslash in "Unable to create registry key" messages. check-in: ce7d538ed6 user: jacob tags: trunk | |
| 12:29 | UI tweak from Malcolm Rowe: set IDM_VIEWKEYS as the default menu item and use that mechanism to invoke it on double-click; this emboldens it in the right- click menu. check-in: 75eace3be5 user: jacob tags: trunk | |
| 11:47 | XXX comment in the logic which sends failed password auth back to username prompt for keyboard-interactive. I suspect we should do the same with that method (especially given the apparent number of systems that use it for regular password auth), but in the absence of systems to test against I've not actually made the change. (I'm worried that the `partial success' field might not be set correctly in a multi-stage authentication, for instance.) check-in: 1de0f52527 user: jacob tags: trunk | |
| 11:11 | As a result of the policy allowing changes of username to reset the authentication state, a failed `password' authentication in SSH-2 was sending us back to trying `none' and `keyboard-interactive' each time round, which uses up OpenSSH's quota of authentication attempts rather quickly. Added a check for `cfg.change_username' to the logic which sends us back to the start. check-in: ad08d145bf user: jacob tags: trunk | |
|
2004-11-19
| ||
| 15:24 | Make PSFTP use console_get_line() to fetch username, so that that prompt is affected by `-batch'. check-in: 26e5debddb user: jacob tags: trunk | |
| 15:05 | console_get_line() returns failure iff console_batch_mode is set, whereas before is would return success and the empty string. IMO this makes `-batch' much more useful; before, utilities such as Plink in `-batch' mode would attempt to plough on using empty strings for usernames, passwords, and so on. check-in: 85f4e4b0c4 user: jacob tags: trunk | |
| 14:57 | Remove FLAG_INTERACTIVE test from "login as:" prompt. Kelly John Carney pointed out that Plink would attempt to use a zero-length username iff a remote command was specified (because the FLAG_INTERACTIVE test was erroneously combined with the no-username test). I don't think this will break non-interactive use; in the cases which behave differently, Plink would be attempting to use the empty username, which was almost certainly wrong, whereas now it will give a prompt (which can be avoided with -batch as usual). (Although perhaps we should attempt to use a local username as a guess for the remote username, as PSCP does? I've not done this.) check-in: 052f19dc36 user: jacob tags: trunk | |
|
2004-11-18
| ||
| 13:44 | "Connection reset by peer" is apparently not the only error that keepalives can help with. check-in: 2ba2803830 user: jacob tags: trunk | |
| 13:41 | "Software caused connection abort": a couple of people now have got rid of this with keepalives. Also try to emphasise that this seems to be a generic catch-all type of error. check-in: e7ccea5765 user: jacob tags: trunk | |
| 11:13 | *sigh* X11 forwarding to a local display (":0" or similar) specified in the environment rather than the configuraton was failing as of 0.56 (introduced in r4604). This probably only bit users of Unix PuTTY. Didn't spot in testing as I was forwarding to already-forwarded displays. I really wasn't having a good month that month, was I? check-in: 02e36a55f2 user: jacob tags: trunk | |
| 09:16 | Add an extra appendix to the manual containing PuTTY's (hitherto) unwritten design principles, so would-be contributors won't have to either read our minds or pay _very_ close attention to the code. check-in: 795c13d68b user: simon tags: trunk | |
| 05:30 | Move MODULE files out of individual project directories into a MODULES top-level directory, which is where the Tartarus website scripts will (hopefully) start reading them from. check-in: 1e22c22481 user: simon tags: trunk | |
|
2004-11-17
| ||
| 12:27 | mkunxarc.sh was still including (mostly empty) .svn directories, and that in turn was confusing the new doc/Makefile mechanism. Fixed the former, and also put an additional safeguard in the latter in a belt-and-braces sort of fashion. check-in: 79d77aaf06 user: simon tags: trunk | |
| 12:16 | Now we use Subversion, it seems excessive to have an individual $Id$ line for every single .but file at the bottom of each page of the HTML PuTTY docs. However, we can't _always_ replace that with a single SVN revision, because there isn't always one available (SVN still allows mixed working copies in which some files are deliberately checked out against a different revision). Hence, here's a mechanism for doing better. It uses `svnversion .' to determine _whether_ a single revision number adequately describes the current directory, and replaces all the version IDs with that if so. If it can't do that, it uses the version IDs as before. Also, this allows an explicit version string to be passed on the make command line which will override _both_ these possibilities, so that release documentation can be clearly labelled with the release version number. check-in: ca9c212395 user: simon tags: trunk | |
| 02:02 | Fix mksrcarc.sh for directory reorganisation. check-in: 1f75bbb07c user: simon tags: trunk | |
|
2004-11-16
| ||
| 17:58 | pedantic s/CVS/Subversion/ check-in: 1e7235c40e user: jacob tags: trunk | |
| 17:32 | Some tweaks for Subversion and windows/ subdir. check-in: b16f306be1 user: jacob tags: trunk | |
| 17:26 | Fix Windows installer script: the paths were wrong after the directory reorganisation, and also the EOL style needs to be CRLF or Inno Setup gets upset. check-in: 1ab925824c user: simon tags: trunk | |
| 16:14 | Now that we have Subversion's file renaming ability, it's time at long last to move all the Windows-specific source files down into a `windows' subdirectory. Only platform-specific files remain at the top level. With any luck this will act as a hint to anyone still contemplating sending us a Windows-centric patch... check-in: a6928f6770 user: simon tags: trunk | |
| 12:01 | Various changes related to the Subversion migration. check-in: a885a86071 user: simon tags: trunk | |
| 09:29 | Remove .cvsignore files on all active branches. check-in: 5056e73ac2 user: simon tags: trunk | |
| 09:27 | CVS revision numbers, stored as `cvs2svn:cvs-rev' properties, are a useful piece of history in this repository but we don't want to preserve their latest values on future commits. Accordingly, I'm deleting them from all active development (though not from past release branches). check-in: 804f5806a0 user: simon tags: trunk | |
|
2004-11-15
| ||
| 09:57 | Mention that comp.terminals may also be a useful newsgroup. I've done this by centralising information about newsgroups in feedback.but and linking to that from elsewhere; I've also put in a link to Google Groups. check-in: 7f2bab7ad5 user: jacob tags: trunk | |
| 05:10 | Miloslav Cempirek Ing points out that we should return from sessionsaver_handler after processing a one-click saved session launch, to protect against accidentally calling dlg_end twice on the same dialog. check-in: 4d04cab8ad user: simon tags: trunk | |
|
2004-11-11
| ||
| 03:40 | I masked off LATTR_WRAPPED et al in do_text_internal(), but forgot to do the same in do_cursor(). Bet that's the cause of Andrey Borzenkov's cursor positioning bug. check-in: 58f5a1164f user: simon tags: trunk | |
|
2004-11-09
| ||
| 11:57 | DJSD requests a force-monochrome option for users who dislike angry- fruit-salad applications :-) check-in: 33c221f28a user: simon tags: trunk | |
|
2004-11-02
| ||
| 17:06 | Note upper limit of WM_SYSCOMMAND identifiers in a comment. check-in: 8c6f402124 user: jacob tags: trunk | |
| 17:06 | Go back to using intervals of 16 for the saved session identifiers for the system menu, but expand from 256 entries to 1024 as there seems to be plenty of space. Also remove a couple of unused IDM_* constants. check-in: bea10e6972 user: jacob tags: trunk | |
| 16:30 | Simon has reminded me _why_ menu identifiers were spaced every sixteen, so let's add a comment so that we don't forget again. Source: <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_syscommand.asp> check-in: 00c981a774 user: jacob tags: trunk | |
| 11:44 | Since neither I nor Owen know why the IDM_ values for the saved-sessions submenu were going up in steps of 16, I've changed to steps of 1, thus increasing the possible number of sessions from ~256 to 4096, since a recent report seemed to indicate that the previous limit might not be enough for someone (!) I can't find any documentation that puts an upper limit on the number of menu items, and it seems to work on Win98, which is where I'd expect it to break if anywhere. Also a number of other tweaks to this code. check-in: 9dabd7d0df user: jacob tags: trunk | |
|
2004-11-01
| ||
| 08:18 | Argh, I messed up SSH1 remote tunnels too (same mistake). check-in: 6ef518b9a5 user: jacob tags: trunk | |
|
2004-10-31
| ||
| 18:47 | Ahem, let's not try initialising a static with a non-constant initialiser. Also, I'm pretty sure that adding a source address to a remote SSH-2 forwarding can never have worked, since we added an address string to the packet twice in that case. OpenSSH 3.4p1 certainly doesn't like it (`Server has disabled port forwarding' debug message). Fixed (and OpenSSH is happier now). check-in: fb4b938df2 user: jacob tags: trunk | |
| 18:17 | Argh. Failure to make a variable static to get round coroutine mechanics means that each SSH-2 remote tunnel will sfree() something random and thus have a chance of crashing or doing something else bad, although it won't otherwise affect execution. Introduced in 1.319 [r4529] (some of my improved diagnostics). One day I'll make a checkin to ssh.c without forgetting about the coroutines... check-in: b5c42f2525 user: jacob tags: trunk | |
|
2004-10-27
| ||
| 19:23 | Malcolm Rowe spotted that we broke display of SSH2_MSG_DEBUG messages while fixing `vuln-ssh2-debug', by missing out a field. In most cases (always_display = 0) we would log a zero-length or truncated message. (Also add a prototype for ssh2_pkt_getbool().) check-in: 911eda30fa user: jacob tags: trunk | |
| 10:50 | Malcolm Rowe's UI tweak patch for About/Licence: recognise `Esc' to close windows (PuTTY, Pageant, PuTTYgen); Licence window parent in PuTTY. check-in: 267adc6657 user: jacob tags: trunk | |
|
2004-10-26
| ||
| 14:47 | Good grief! I should create the `htmldoc' subdir in the release tree _before_ I create the md5sums files. I am a gibbon. check-in: 2ecfd9b02a user: simon tags: trunk | |
| 14:32 | Add bumping version number on trunk to new post-release checklist. Also, sometimes `0.XX' is used in the docs as a placeholder for a version number. check-in: 5bfbc957d3 user: jacob tags: trunk | |
| 13:59 | Merge version number bump (0.56) from release branch. check-in: b36810f643 user: jacob tags: trunk | |
| 13:44 | Reorder a couple of points on the wishlist, and also add a few helpful chunks of `sh' to make life easier next time I make a release. check-in: 49204859d4 user: simon tags: trunk | |
|
2004-10-24
| ||
| 17:57 | Add a note about documentation of the Unix port (i.e., we don't, specifically). This is mainly intended to make the documentation suitable for including in distributions such as the Debian package, but won't be amiss on the web site docs. It will look a bit out of place in the .HLP, but never mind. check-in: 89c758179e user: jacob tags: trunk | |
| 13:30 | Mention -i. check-in: a9b40c286e user: jacob tags: trunk | |
| 13:26 | Random tweaks: - change click-by-click advice on modifying saved sessions - add `Restart Session' as another reason you might not want to close the window on exit; other tweaks to this language - mention Shift-Backspace action - the window resizing configuration documentation was completely out of date; rewrite - add a note about Default Bold Background since it's caused confusion - "remote terminal" -> "remote system" in terminal-type doc check-in: 3cd1ba067c user: jacob tags: trunk | |
| 11:48 | Freshness tweaks: - mention `Restart Session' - tweak language of `-N' (plural->singular) check-in: 0e995a94a2 user: jacob tags: trunk | |
| 11:24 | Freshness tweaks: - soften language around changing-username-during-login section; with SSH-2 this is a misfeature of implementations rather than the protocol itself - tweak new-host-key dialog text check-in: 3206cdad9b user: jacob tags: trunk | |
| 10:58 | Differences between protocols: remove the entire paragraph about environment variables. It was no longer true (given that we support them in SSH-2 now), and the new situation was probably too complex to explain in an introductory chapter. And the utility of setting them seems to be marginal these days given the lack of server support. check-in: 557443edea user: jacob tags: trunk | |
| 10:41 | Mention PSFTP on title page check-in: 16816a48a2 user: jacob tags: trunk | |
|
2004-10-22
| ||
| 11:50 | Better bounds checking in the exit-signal handler. check-in: b0f77e81a6 user: simon tags: trunk | |
| 11:47 | We ought to be using the ssh_pkt_* routines for the messages which we process at any time in the rdpkt routines, as well as everywhere else. check-in: dcee5dd92a user: simon tags: trunk | |
|
2004-10-21
| ||
| 05:59 | I just had a need to decode a piece of Zlib data from out of the middle of a PDF. So here's a modification to sshzlib.c which enables it to be compiled into a standalone Zlib decoder if you define ZLIB_STANDALONE. As an added bonus, it (both standalone and in PuTTY) also validates the Zlib header, just to make sure someone hasn't defined a new compression format. check-in: 2fd4126e27 user: simon tags: trunk | |
|
2004-10-19
| ||
| 08:54 | Munge line-drawing description to match current naming and order of options (in the Windows version), and hopefully to clarify distinction between line charset and local font, which has occasionally foxed me. Cross-reference the Translation panel reference section from the intro section in using.but and mention line-drawing characters there also. check-in: 8e4659b566 user: jacob tags: trunk | |
|
2004-10-17
| ||
| 19:41 | Add support for logging "exit-signal", why not. This is disgustingly huge because old versions of OpenSSH got the message format wrong, so we have to infer which format is in use. Tested with Debian stable OpenSSH (3.4p1), with `uint32' packet, and lshd, which uses the correct `string' packet, and also let me test "core dumped" and the explanatory message. check-in: 4b7166ef39 user: jacob tags: trunk | |
| 16:22 | Support the SSH-2 mechanism for sending signals to a running session. Neither of the SSH servers I conveniently have access to (Debian stable OpenSSH -- 3.4p1 -- and lshd) seem to take a blind bit of notice, but the channel requests look fine to me in the packet log. I've included all the signals explicitly defined by draft-ietf-secsh-connect-19, but I've put the more obscure ones in a submenu of the specials menu; there's therefore been some minor upheaval to support such submenus. check-in: e613d9b7a0 user: jacob tags: trunk | |
| 10:32 | We shouldn't offer the Break special when we don't have a session to send it down. (A side effect of fixing this is that ssh->mainchain is set to NULL when it closes, which might avoid other sorts of trouble.) While we're here, don't bother offering SSH1_MSG_IGNORE if we believe the remote will barf on it. check-in: 48e6df5b2f user: jacob tags: trunk | |
| 09:44 | Telnet specials menu was not being reinstated after a session was restarted in the same window (Windows version only). Policy change: it's now the backend's responsibility to call update_specials_menu() at the start of a session (or whenever it feels ready), if it has any special commands. Otherwise the menu won't be displayed. check-in: df3849f621 user: jacob tags: trunk | |
|
2004-10-16
| ||
| 09:17 | Markus Kuhn's UTF-8 page http://www.cl.cam.ac.uk/~mgk25/unicode.html#activate feels strongly that it should be easy to make _all_ your applications work in UTF-8 mode, without having to remember a switch for each one. Every application should simply note a UTF-8 locale setting and switch into UTF-8 mode automatically. Therefore, for the Unix port only, there's now a checkbox, enabled by default, which causes the drop-down Translation box to be overridden if the locale indicates UTF-8. Anyone who doesn't like this, or doesn't like MGK, is welcome to turn it straight back off. I'm not _completely_ convinced by MGK's argument myself; for xterm/pterm to do _useful_ UTF-8 you also need to specify a decently Unicode-capable font, and there's no way _that_ can be automagically done on noticing a locale setting. But it's a de facto standard (i.e. xterm does it :-) so I might as well at least be _able_ to support it. check-in: c05196ad7c user: simon tags: trunk | |
| 07:36 | Fix bug in scrollback compression, which manifested when attempting to encode a very long (len>128) run of the same literal. check-in: 8d37d576b7 user: simon tags: trunk | |
| 05:56 | Moved the environment variables config block out of the Telnet panel into the Connection panel, and implemented support for the SSH2 "env" request. (I haven't yet found a server which accepts this request, so although I've visually checked the packet log and it looks OK, I haven't yet been able to do a full end-to-end test.) Also, the `pty' backend reads this data and does a series of `putenv' commands before launching the shell or application. This is mostly because in last week's UTF-8 faffings I got thoroughly sick of typing `export LANG=en_GB.UTF-8' every time I started a new testing pterm, and it suddenly occurred to me that this would be precisely the sort of thing you'd want to have pterm set up for you, particularly since you can configure it alongside the translation settings and so you can ensure they match up properly. check-in: a859123a17 user: simon tags: trunk | |
|
2004-10-15
| ||
| 18:32 | Mention plink's new -N option in usage and man page. check-in: f398d0b241 user: jacob tags: trunk | |
| 07:37 | Fix two memory leaks in the new code. (There's no point compressing the scrollback if you then leak away all the memory you saved!) One of the leaks - by far the bigger of the two - was in my temporary diagnostic function cc_check(), which is particularly embarrassing :-) check-in: 620424d7a0 user: simon tags: trunk | |
| 07:25 | And fix _cursor_ display on double-width double-width characters (as it were). check-in: e281797263 user: simon tags: trunk | |
| 07:17 | Double-height and double-width line attributes (ESC#3, ESC#4, ESC#6) were not working correctly with double-width Unicode characters (CJK). check-in: ea8e22ac07 user: simon tags: trunk | |
| 06:51 | Add missing check_boundary() calls in destructive backspace handler. check-in: f19e9e6ded user: simon tags: trunk | |
| 06:42 | A combining character on U+0020 SPACE stops it from being `uninteresting' to the clipboard processing. check-in: 0e05808329 user: simon tags: trunk | |
| 06:29 | Mark the trial decompress in every call to compressline() with the XXX-REMOVE-BEFORE-RELEASE tag. check-in: 00a7e068ee user: simon tags: trunk | |
| 06:14 | Don't forget to flush the bidi cache when the user enables or disables bidi or shaping, otherwise they'll have to do a manual screen refresh to see any difference. check-in: 22fc1ead4c user: simon tags: trunk | |
| 06:11 | Store line widths in the bidi cache, so we don't fail to re-bidi a line when the window size changes. check-in: da6aad9925 user: simon tags: trunk | |
| 05:48 | Fix many bugs in resizeline(). check-in: 48ba521b21 user: simon tags: trunk | |
| 04:28 | Fix applying combining characters to double-width characters. check-in: 424c2ef604 user: simon tags: trunk | |
| 04:16 | Fix Windows redraw problem on RH half of wrapped lines. (term_paint was checking whether lattr == LATTR_NORM, where it should have been checking (lattr & LATTR_MODE) to mask off LATTR_WRAPPED et al. check-in: 43382ea21b user: simon tags: trunk | |
| 04:06 | I broke ordinary line wrapping as a result of retiring cpos. Oops. check-in: 2c85376278 user: simon tags: trunk | |
| 03:51 | Fix cursor display on a combined character cell. check-in: 5b0b76fdd5 user: simon tags: trunk | |
| 03:22 | Mark cc_check() and all calls to it with the new XXX-REMOVE-BEFORE-RELEASE tag, since they're performance-intensive. And now that I'm reasonably confident of remembering to remove them before the next release, I feel less guilty about adding them willy- nilly all over the place, so I've shoved in a couple more for now :-) check-in: 84fb320ebc user: simon tags: trunk | |
| 03:16 | I'm instituting a policy that before every release I will grep the PuTTY source for the word XXX-REMOVE-BEFORE-RELEASE, and not release until I've got rid of all of them. Hence, here's an addition to the release checklist which will remind me to do so. I don't want this mechanism to seriously inhibit a release by being a placeholder for a large piece of work we might never get round to. It should be used only in cases where it's _simple_ to change the offending code: for example, a performance-impacting diagnostic might be invaluable while testing nightly snapshots but wouldn't want to slow down everyone's next release, and it's easy to get rid of on release day. check-in: 60ff6fea69 user: simon tags: trunk | |
|
2004-10-14
| ||
| 11:42 | First-stage support for Unicode combining characters. The `chars' array of each `termline' structure now contains optional additional entries after the normal number of columns, which are used to chain a linked list of combining characters off any primary termchar that needs it. This means we support arbitrarily many combining characters per cell (unlike xterm's hard limit of 2). Cut and paste works correctly (selecting a character cell containing multiple code points causes all those code points to be cut and pasted). Display works by simply overlaying all the relevant characters on top of one another; this is good enough for Unix (xterm does the same thing), and mostly seems OK for Windows except that the Windows Unicode fonts have a nasty habit of not containing most of the combining characters and thus overlaying an unknown-code-point box on your perfectly good base glyph. I had no idea how to add support in the Mac do_text(), so I've simply stuck in an assertion that will trigger the first time a combining character is displayed, and hopefully this will bite someone with the clue to fix it. check-in: 873b9560c1 user: simon tags: trunk | |
|
2004-10-13
| ||
| 08:43 | Implement part of `ssh2-generality': introduce the ability to tell PuTTY / Plink not to run a remote shell/command at all. Supported in the GUI configuration and via the (OpenSSH-like) -N command-line option. No effort is currently made to arrange `nice' UI properties. If you do this in GUI PuTTY, a full-size terminal window will still be created, and will sit there with almost nothing in it throughout your session. If you do it in Plink, Plink will not accept any kind of request to terminate gracefully; you'll have to ^C or kill it. Nonetheless, even this little will be useful to some people... check-in: ec1afd9c5e user: simon tags: trunk | |
| 08:35 | Fix segfaults in terminal resizing, introduced by re-engineering. check-in: a6f541d35b user: simon tags: trunk | |
| 07:29 | I think we've been told before that you're not supposed to CloseHandle() the thing returned from MonitorFromPoint. Certainly MS Visual Studio's debugger complained about it just now. CloseHandle() call removed. check-in: d3b96a42ab user: simon tags: trunk | |
| 07:10 | Fix '/*' in comment. check-in: 8e5a2d6820 user: jacob tags: trunk | |
| 06:50 | Re-engineering of terminal emulator, phase 1. The active terminal screen is no longer an array of `unsigned long' encoding 16-bit Unicode plus 16 attribute bits. Now it's an array of `termchar' structures, which currently have 32-bit Unicode and 32 attribute bits but which will probably expand further in future. To prevent bloat of the memory footprint, I've introduced a mostly RLE-like compression scheme for storing scrollback: each line is compressed into a compact (but hard to modify) form when it moves into the term->scrollback tree, and is temporarily decompressed when the user wants to scroll back over it. My initial tests suggest that this compression averages about 1/4 of the previous (32 bits per character cell) data size in typical output, which means this is an improvement even without counting the new ability to extend the information stored in each character cell. Another beneficial side effect is that the insane format in which Unicode was passed to front ends through do_text() has now been rendered sane. Testing is incomplete; this _may_ still have instabilities. Windows and Unix front ends both seem to work as far as I've looked, but I haven't yet looked very hard. The Mac front end I've edited (it seemed obvious how to change it) but I can't compile or test it. As an immediate functional effect, the terminal emulator now supports full 32-bit Unicode to whatever extent the host platform allows it to. For example, if you output a 4-or-more-byte UTF-8 character in Unix pterm, it will not display it properly, but it will correctly paste it back out in a UTF8_STRING selection. Windows is more restricted, sadly. check-in: fd15c23f41 user: simon tags: trunk | |
|
2004-10-08
| ||
| 07:38 | faq-alternate-localhost: You can now download the fix directly rather than having to go through MS support. check-in: 52297f2907 user: jacob tags: trunk | |
|
2004-10-07
| ||
| 05:19 | faq-permission: xref licence check-in: 82d263ee0a user: jacob tags: trunk | |
|
2004-10-06
| ||
| 17:31 | X forwarding changes: - new function platform_get_x_display() to find a sensible local display. On Unix, the Gtk apps weren't taking account of --display when determining where to send forwarded X traffic. - explicitly document that leaving X display location blank in config tries to do something sensible (and that it's now blank by default) - don't override X11Display setting in plink, since that's more properly done later check-in: 3d586c00d5 user: jacob tags: trunk | |
|
2004-10-01
| ||
| 19:33 | `ssh-log-pw-blank': known password fields are now omitted from SSH packet logs by default (although they can be included). There's also an option to remove session data, which is good both for privacy and for reducing the size of logfiles. check-in: a52cfa28f7 user: jacob tags: trunk | |
|
2004-09-29
| ||
| 18:57 | Mention the negotiated SSH-2 MAC algorithm(s) in the Event Log. (It should be possible to at least see what MAC is in use without going to a SSH packet log.) check-in: c7e8751c9d user: jacob tags: trunk | |
| 07:38 | Report details in Event Log when receiving SSH2_MSG_CHANNEL_OPEN_FAILURE. check-in: 860ea1bd0c user: simon tags: trunk | |
|
2004-09-28
| ||
| 15:42 | Line (as opposed to block) cursors were being displayed when they shouldn't have been, including when they were blinked off. Fixes Debian bug #272877. check-in: f3871b7c8f user: jacob tags: trunk | |
|
2004-09-26
| ||
| 19:23 | "Incoming packet was garbled on decryption": I think this could in principle be due to corruption on the wire? check-in: bf13a7252a user: jacob tags: trunk | |
|
2004-09-22
| ||
| 17:38 | Treat USER specially in event logging of Telnet ENVIRON option; it's occasionally been a pain that the username wasn't visible in the Event Log. check-in: 7a3f30def7 user: jacob tags: trunk | |
| 17:15 | Document telnet_keyboard more completely, cross-reference from "Special Commands" section, and tweak option description in code. check-in: 05721e69bd user: jacob tags: trunk | |
| 09:07 | faq-missing-slash: the missing-slash-in-PSFTP OpenSSH bug keeps coming up. check-in: 0cea8e2c2b user: jacob tags: trunk | |
|
2004-09-21
| ||
| 16:04 | Add `OSU_1.5alpha4' to BUG_CHOKES_ON_SSH1_IGNORE; this is apparently enough to enable login with this version. (I'd suspected as much -- see ssh.c CVS log 1.299 [r3359] -- and Geoffrey Hughes has now confirmed this.) check-in: 00d9c804fc user: jacob tags: trunk | |
| 11:49 | `ampersat-in-username': tweak `strchr' to `strrchr' where necessary to consistently support usernames containing `@'. check-in: b6d76d9903 user: jacob tags: trunk | |
|
2004-09-20
| ||
| 17:10 | Reformat special commands to use \b instead of \dt / \dd. check-in: f7b2b4d1f7 user: jacob tags: trunk | |
| 17:06 | Explicitly list all the special commands supported by PuTTY. check-in: 2e3478a3bf user: jacob tags: trunk | |
| 16:42 | Add accelerator for "Special Command" sub-menu. check-in: 7721346dbc user: jacob tags: trunk | |
|
2004-09-19
| ||
| 18:49 | First gentle encouragement to direct mirroring efforts to regions where we don't already _have_ lots of mirrors. check-in: 7383d2409d user: jacob tags: trunk | |
|
2004-09-17
| ||
| 09:26 | Make it a bit easier to find our explanation of `raw' mode. check-in: 95b6943b86 user: jacob tags: trunk | |
|
2004-09-16
| ||
| 10:44 | Tweak language re "Remote ports [accept connections from other hosts]" check-in: d7b7a43913 user: jacob tags: trunk | |
|
2004-09-12
| ||
| 17:02 | `dwalin' spotted a NULL dereference in the new makekey() error handling. Oops. check-in: fa5478bc99 user: simon tags: trunk | |
|
2004-09-09
| ||
| 13:00 | Mention requirement for Gtk+-1.2. Other minor cleanups. check-in: 3966759b11 user: jacob tags: trunk | |
| 05:37 | Make it clearer that the XP SP2 hotfix is described in the KB article. check-in: 938ea3b2ea user: jacob tags: trunk | |
|
2004-09-03
| ||
| 08:46 | Improved diagnostics in port-forwarding: we now log any error returned by pfd_addforward() rather than just ignoring it. check-in: 7ab101a451 user: jacob tags: trunk | |
| 07:28 | In SSH-2, list each compression algorithm only once. (No particular reason for this change, just tidiness.) check-in: 60397c817a user: jacob tags: trunk | |
|
2004-09-01
| ||
| 05:19 | Bleh, grammar. check-in: 8c57528772 user: jacob tags: trunk | |
| 05:12 | Documentation existence of SOCKS5 CHAP authentication. check-in: 93846ed333 user: jacob tags: trunk | |
|
2004-08-31
| ||
| 13:26 | Ben Hutchings points out that the initial states of the key-type radio buttons and menu items are inconsistent. check-in: 220e635f4d user: simon tags: trunk | |
|
2004-08-30
| ||
| 08:23 | Credit Malcolm Smith in the copyrights. check-in: d4475a5d51 user: simon tags: trunk | |
| 08:11 | Malcolm Smith's patch to support CHAP (digest-based) authentication when talking to SOCKS 5 proxies. Configures itself transparently (if the proxy offers CHAP it will use it, otherwise it falls back to ordinary cleartext passwords). check-in: ec02c8cc8f user: simon tags: trunk | |
|
2004-08-28
| ||
| 11:51 | More sensible error handling when we receive an SSH1 public key modulus of zero (!!), and also a robustness fix in ssh1_rdpkt which I happened to notice while debugging that. check-in: bea2fe89de user: simon tags: trunk | |
|
2004-08-27
| ||
| 08:33 | faq-alternate-localhost language tweak check-in: ed04d98dac user: jacob tags: trunk | |
| 07:24 | Handle WM_SYSCOLORCHANGE if using system colours. (Resets the whole palette, whereas ideally it would restrict itself to the affected colour slots.) check-in: 3bb030b079 user: jacob tags: trunk | |
|
2004-08-25
| ||
| 04:20 | Add comments indicating why these manifest files are present at all. check-in: 95e0a50cec user: jacob tags: trunk | |
|
2004-08-20
| ||
| 09:04 | Patch to use enum constants for cfg.funky_type instead of numeric literals, from "Anthony" <410C2A86.2010003@mail2004.ajrh.net>. check-in: c811f4d966 user: jacob tags: trunk | |
| 04:09 | alternate-localhost: add "apparently" since none of this is first-hand check-in: fd0f77c9c3 user: jacob tags: trunk | |
| 03:32 | alternate-localhost WinXP SP2: apparently SP2 fixes the problem with Terminal Services that meant you needed to use alternate-localhost in the first place! check-in: d70b051289 user: jacob tags: trunk | |
|
2004-08-19
| ||
| 10:05 | Fix an annoying inconsistency that's been bugging me for years: "plink host" and "plink user@host" differed in that the former attempted to load session `host' while the latter didn't. Now both forms attempt to load a session. Someone will probably complain, but hey. check-in: d9558ed80a user: jacob tags: trunk | |
| 08:15 | Remove claim in usage text that Plink defaults to SSH, since it's not true in a number of situations. check-in: 6c160c851e user: jacob tags: trunk | |
| 07:58 | Add the WinXPSP2 alternate-localhost problem to the FAQ. check-in: 87c50c8685 user: jacob tags: trunk | |
|
2004-08-18
| ||
| 05:24 | Mention the mirroring guidelines on the web. check-in: 25ebc5f04a user: jacob tags: trunk | |
|
2004-08-17
| ||
| 09:08 | Someone complained that their keyboard-interactive password prompt was being truncated - it was from OpenSSH on HP/UX and had all sorts of stuff in it ("last successful login" etc). Bodged it by bumping up the space allocated in the fixed array for a password prompt. Also added an indication that the prompt is being truncated, as required by draft-ietf-secsh-auth-kbdinteract-06. (NB that before this checkin, there was a more-or-less harmless buffer overread where if we ever received a keyboard-interactive prompt with echo=1, we'd probably spew goo on the terminal; fixed now.) check-in: 4614439a8b user: jacob tags: trunk | |
|
2004-08-16
| ||
| 09:43 | Update comment on dupprintf(). check-in: b56fc779d2 user: simon tags: trunk | |
| 04:38 | Patch from Kurt Roeckx: apparently on Debian amd64, the ut_time member of struct utmp is not equivalent to time_t (it's 32-bit). From Debian bug#265910. check-in: 73d18097ab user: jacob tags: trunk | |
|
2004-08-15
| ||
| 12:21 | Note behaviour of `cd' with no arguments. check-in: b479a51631 user: jacob tags: trunk | |
|
2004-08-14
| ||
| 08:04 | Implement `Restart Session', in both Unix and Windows PuTTY. Largely because Owen questioned whether it was really easy enough to be labelled `fun' in the bug database :-) check-in: 3ba6f1b539 user: simon tags: trunk | |
| 07:24 | ssh_free() should not call log_free(); it's for the front end to decide whether the logctx is finished with or not. check-in: f83300ea9e user: simon tags: trunk | |
|
2004-08-12
| ||
| 20:08 | Extra logging in SSH-2 port-forwarding. Most obviously, the opening of a forwarded X11 connection is now logged as well as the closing; but we also log the peer IP/port in case it's interesting, and log the reason for refusing to honour a channel open. check-in: 8c739cf713 user: jacob tags: trunk | |
| 15:55 | add xref at the bottom of X11 section to options in config.but check-in: 1ffac7eb65 user: jacob tags: trunk | |
|
2004-08-11
| ||
| 20:02 | Flush the logfile reasonably frequently in `printable output only' and `all session data' modes, without completely mauling the performance, by fflush()ing once per term_out(). If anyone complains I suppose we can make this optional. check-in: 5a5d921af2 user: jacob tags: trunk | |
| 04:04 | My new rsync mirror setup might need attention when we do a new release. Add to checklist. check-in: da51daeff9 user: simon tags: trunk | |
|
2004-08-10
| ||
| 12:12 | Remove the email address from the footer of the HTML manual, and replace it with a link to the Feedback page, as we have long since done everywhere else on the PuTTY website. check-in: 0bd6689864 user: simon tags: trunk | |
| 11:50 | Update link to s2putty. check-in: 788030bc57 user: jacob tags: trunk | |
|
2004-08-09
| ||
| 12:04 | Oops - merge version number bump from branch-0-55 (such was the plan). check-in: 31044e1180 user: jacob tags: trunk | |
| 12:01 | Apparently sending the tar output to stdout rather than a file causes tar to pad with trailing NULs, which slightly upsets old versions of gzip (1.2.4, not 1.3.x), which upsets some of our correspondents. Use -f to send it to a file instead. (It's not transparently clear what happens when you mix -f and -C; I've tested this with ixion's tar, 1.13.25.) Also add option -o to generate POSIX tar files, as for halibut/Makefile; apparently this shuts up a `trailing garbage' error from WinZip. check-in: 8dfaf512b2 user: jacob tags: trunk | |
|
2004-08-05
| ||
| 09:10 | Fix for `mazovia': add Mazovia translation table based on info from Slawomir Oczkowski and "Diron". check-in: 63943c9436 user: jacob tags: trunk | |
|
2004-08-03
| ||
| 18:43 | When using remote forwarding with SSH-1, you'd get bogus 'SSH1 cannot handle source address spec ":10023"; ignoring' type errors in the Event Log. The forwarding would go ahead as normal so this is cosmetic. Fixed. check-in: d385f8c410 user: jacob tags: trunk | |
| 08:23 | Merge minor usage message tweaks (but not version number changes) from branch-0-55. check-in: 0dad1fc016 user: jacob tags: trunk | |
|
2004-08-01
| ||
| 07:07 | Merged SSH1 robustness changes from 0.55 release branch on to trunk. check-in: 461113bfb0 user: simon tags: trunk | |
|
2004-07-30
| ||
| 04:38 | Tweak to make it more obvious that the System menu is only available from the _terminal_ window -- should be obvious from context but the nearest context is some distance away. check-in: b9230cffc9 user: jacob tags: trunk | |
|
2004-07-29
| ||
| 10:44 | Improve robustness in modpow(). check-in: 62ab6c37f7 user: simon tags: trunk | |
| 05:23 | "Where does PuTTY store its data?" -- mention where Unix PuTTY stores its data check-in: b8743e20af user: jacob tags: trunk | |
| 05:09 | Talk about Halibut; mention Unix `install' target; mention lack of Makefiles if you check out directly from CVS as it's come up once or twice. check-in: 52f743d33d user: jacob tags: trunk | |
|
2004-07-28
| ||
| 06:04 | Another wart in the command-line processing: if the user just specifies `-load sessname', and that mentions a hostname, that should be sufficient to start a connection. check-in: 99ccf1dbe3 user: jacob tags: trunk | |
|
2004-07-27
| ||
| 10:20 | Fix double-free in X selection code. check-in: cd12e8a582 user: simon tags: trunk | |
|
2004-07-25
| ||
| 14:52 | Attempt to make Windows pointer hiding more robust by ignoring MOUSEMOVE and NCMOUSEMOVE messages where nothing actually changes. It seems Windows likes to send such messages occasionally when other stuff is going on (e.g., in other windows). (Also spotted by Franco Barber <20040122055232.GA8168@febsun.cmhnet.org>.) check-in: 0605efdcdd user: jacob tags: trunk | |
| 11:10 | PSFTP was ignoring `-1' and `-2' and always using SSH-2 with fallback to SSH-1. It also ignored any settings forbidding fallback to SSH-1. Ignoring `-1' and `-2' is hardly the end of the world, as it'd be difficult to think of a realistic situation where fallback didn't do the right thing and PSFTP was still useful. However, ignoring a user's `SSH-2 only' setting was a bit rude. check-in: 3a402d8dab user: jacob tags: trunk | |
| 09:00 | Fix for `psftp-pscp-ignore-load': Default Settings is now loaded before "-load" is processed so that it doesn't clobber it. I've also changed the semantics of "-load" slightly for PSCP, PSFTP, and Plink: if it's specified at all, it overrides (disables) the implicit loading of session details based on a supplied hostname elsewhere (on the grounds that the user is more likely to want the "-load" session than the implicit session). (PuTTY itself doesn't do implicit loading at all, so I haven't changed it.) This means that all the PuTTY tools' behaviour is now consistent iff "-load" is specified (otherwise, some tools have implicit-session, and others don't). However, I've not documented this behaviour, as there's a good chance it will be swept away if and when we get round to sorting out how we deal with settings from multiple sources. It's intended as a "do something sensible" change. check-in: 81963a938a user: jacob tags: trunk | |
| 07:12 | Text around -load option "(although Plink still requires an explicitly specified host name)" didn't appear to actually be true any more (see `cmdline-host-override'). Removed check-in: 0bf8cf2a62 user: jacob tags: trunk | |
|
2004-07-24
| ||
| 14:25 | Comment explaining `need_save' argument to cmdline_process_param(). check-in: 1edef308e8 user: jacob tags: trunk | |
| 07:37 | In faq-bce, mention that the non-immediate effect of changing BCE only applies to versions prior to 0.54. check-in: 06491e28dd user: jacob tags: trunk | |
|
2004-07-22
| ||
| 07:38 | Add a section on the errors you see when you attempt to load a key of the wrong type. check-in: 89aee0114d user: jacob tags: trunk | |
| 06:18 | Mention bps units of terminal speeds (FWLIW). check-in: 17af8ab389 user: jacob tags: trunk | |
|
2004-07-20
| ||
| 15:13 | We shouldn't reference off the end of the display line when checking for UCSWIDE. Thanks Jacob, for catching this with valgrind. check-in: 74194b842e user: simon tags: trunk | |
| 10:34 | Limitations of -m option. check-in: 58c72ddac5 user: jacob tags: trunk | |
| 10:30 | Mention the dangers of the "-pw" option. check-in: 82de58625e user: jacob tags: trunk | |
|
2004-06-27
| ||
| 06:04 | grammer check-in: f020e52bca user: jacob tags: trunk | |
|
2004-06-20
| ||
| 12:07 | Add a configuration option for TCP keepalives (SO_KEEPALIVE), default off. No very good reason, but I've occasionally wanted to frob it to see if it makes any difference to problems I'm having, and it was easy. Tested that it does actually cause keepalives on Windows (with tcpdump); should also work on Unix. Not implemented on Mac (does nothing), but then neither is TCP_NODELAY. Quite a big checkin, much of which is adding `keepalive' alongside `nodelay' in network function calls. check-in: d6cbea6730 user: jacob tags: trunk | |
|
2004-06-15
| ||
| 06:31 | hide scrollbar - you can use more than just Shift+PgUp/Dn to scroll now. check-in: 6f546f5552 user: jacob tags: trunk | |
| 06:11 | Mention "beep using the PC speaker" on general principles (although there isn't much to say about it). check-in: 8e5c9c09ae user: jacob tags: trunk | |
| 06:00 | It's probably worth mentioning that SSH stands for `secure shell'. check-in: 8a64b9c7d6 user: jacob tags: trunk | |
| 05:38 | Add index.but to build. check-in: b1216dd33f user: jacob tags: trunk | |
| 05:17 | Fix Halibut warnings about merging distinct-case index terms. check-in: 95dc070a37 user: jacob tags: trunk | |
| 04:50 | `Authenticating with key' message when using a local key file in SSH2 was not contained within a test for FLAG_VERBOSE. Thanks to Paul Gotch for pointing this out. check-in: 916230d9e9 user: simon tags: trunk | |
|
2004-06-10
| ||
| 05:01 | Explain that the configurable window title is only an initial setting. check-in: 9aa6a0a405 user: jacob tags: trunk | |
|
2004-06-03
| ||
| 05:36 | Spotted by Dimitry Andric: `ssh-termspeed' implementation was not taking account of coroutines and used local variables over a crFoo. I believe the impact was cosmetic, affecting the speeds reported in the Event Log only. I've put the variables `ispeed' and `ospeed' in the main ssh_tag structure, even though they're only live for a short duration; I did this rather than create a new state struct for ssh1_protocol() (since ssh_tag already has short-duration junk like portfwd_strptr). check-in: dc2e4b9a58 user: jacob tags: trunk | |
|
2004-05-31
| ||
| 09:01 | RJK's patch to enable PuTTY's X forwarding to connect to local X servers using Unix sockets (on Unix only, obviously!). check-in: 8f708bbf81 user: simon tags: trunk | |
|
2004-05-26
| ||
| 04:19 | In the entry about twiddling Windows TCP timeouts, mention that it's OK to create the registry values, and link back to the original MS KB articles. check-in: 474fc44886 user: jacob tags: trunk | |
|
2004-05-24
| ||
| 12:12 | Typos in Borland Makefile pointed out by Arnaud Desitter check-in: 621b8fe48d user: jacob tags: trunk | |
| 06:30 | Arnaud Desitter points out a silly mistake in retrieve_cutbuffer() (don't test for `int *nbytes' being <= 0, test for the integer it points to being <= 0!). check-in: fdd818ac08 user: simon tags: trunk | |
| 04:55 | There do in fact appear to be help topics for the Arabic and bidi options, so use them. Also use an accelerator that actually exists for bidi. check-in: d09803c3a2 user: jacob tags: trunk | |
|
2004-05-22
| ||
| 09:21 | Fix indentation after Richard B's patch in rev 1.137 [r3409]. check-in: bc17c95964 user: simon tags: trunk | |
| 06:09 | Halibut now warns about code paragraph lines which are too long to fit in the text output format. If only to stop myself getting pestered with cron stderr messages every night, here are some changes that remove over-long code lines from the PuTTY manual. check-in: da285a278c user: simon tags: trunk | |
| 06:04 | Fix Halibut syntax errors in the new shaping/bidi doc sections. check-in: 160e0b1647 user: simon tags: trunk | |
| 05:36 | At last! After much delay, much faffing back and forth, and much enhancement and fiddling, I have now massaged Arabeyes' first patch into a form I'm happy to check in. Phew. check-in: 02962abb0e user: simon tags: trunk | |
|
2004-05-20
| ||
| 07:48 | I added more detail to the `Authentication failed at PuTTY X11 proxy' error message some time ago, but forgot to change the wording in the error messages chapter. check-in: 49edce0555 user: simon tags: trunk | |
|
2004-05-06
| ||
| 06:27 | A user at ARM just found his home directory was _world_ writable, and this caused public key authentication to fail in spite of following our instructions to the letter. It can't hurt to s/g-w/go-w/ here, just in case! check-in: b35836a8bd user: simon tags: trunk | |
|
2004-04-29
| ||
| 09:41 | Mention -scp/-sftp check-in: aab2f14c7b user: jacob tags: trunk | |
|
2004-04-28
| ||
| 12:26 | "Does PuTTY support storing settings, so I don't have to change them every time?" appears to be a FAQ. (Some renumbering will ensue.) check-in: 3ee8408f7f user: jacob tags: trunk | |
| 12:16 | update pocketputty URL check-in: dc54362daa user: jacob tags: trunk | |
|
2004-04-27
| ||
| 13:23 | Krzysztof Kowalczyk notes that 'etastr' can overflow if the times involved start to get silly. Replace it with a dynamically allocated string instead. check-in: bcf91bc3f3 user: jacob tags: trunk | |
| 13:16 | Krzysztof Kowalczyk's fix for "Assertion failed: actuallen <= len" when transferring files >2G with PSCP. (I'm unable to actually test this works, but it looks plausible, and small transfers aren't mangled.) check-in: 58b1f30aef user: jacob tags: trunk | |
| 07:57 | Remove now-unused variable pwrstat. Spotted by Krzysztof Kowalczyk. check-in: 1108804865 user: jacob tags: trunk | |
| 07:52 | Add notes on our globs' incompatibilities with POSIX check-in: 3295072e20 user: jacob tags: trunk | |
| 07:31 | Various tweaks to header comments to remind me which bits are meant to be platform-independent, etc. check-in: 9bda77c20e user: jacob tags: trunk | |
|
2004-04-25
| ||
| 17:18 | Implement `pscp-select-backend'. check-in: 322435bf8c user: jacob tags: trunk | |
| 10:33 | In the special case that handles selecting a session and hitting Enter, there is a structure copy of a Config, which invalidated the remote_cmd_ptr in that structure (pointing to its own remote_cmd). This was causing remote commands not to be executed in this special case. I've patched the pointer up manually (as is done in plink.c), but ugh. check-in: 71ac91fd07 user: jacob tags: trunk | |
| 04:26 | More portability fixes. check-in: 7201c604af user: simon tags: trunk | |
| 04:04 | Make mkfiles.pl less tied to PuTTY in particular, by inventing new directives that allow me to move some of the PuTTY-specific Makefile fragments into Recipe. Not complete yet, but ought to be enough for me to at least _try_ using mkfiles.pl in another project. check-in: 67adfc99d3 user: simon tags: trunk | |
|
2004-04-24
| ||
| 15:05 | In SSH, we now send terminal speeds to the server when requesting a pty (we didn't before) - `ssh-termspeed'. In the process, I've removed the individual controls on the Telnet and Rlogin panels and replaced them with one on the Connection panel (since they were backed by the same storage anyway). The terminal speeds sent in SSH are logged in the Event Log. check-in: fd231b00d9 user: jacob tags: trunk | |
| 07:25 | Tweak documentation of -V option. check-in: 1320ac3f25 user: jacob tags: trunk | |
|
2004-04-17
| ||
| 15:25 | Add -V for version information to plink, pscp, and psftp. check-in: f304a84750 user: owen tags: trunk | |
|
2004-04-08
| ||
| 07:38 | Added indexing for the first three chapters of the manual. This is a big job :-/ check-in: 113d20de64 user: simon tags: trunk | |
|
2004-04-01
| ||
| 11:34 | Clean up Makefile now that Halibut's new command-line options make life easier. check-in: 5425737106 user: simon tags: trunk | |
| 11:33 | What was that rogue man-mindepth directive doing in here? check-in: eb77db32a2 user: simon tags: trunk | |
|
2004-03-31
| ||
| 06:50 | Add `can I put PuTTY on a coverdisk / bundle it / etc' to the FAQ in case people are incapable of spotting it on the Feedback page. Also add to both locations Owen's point about first-line support. check-in: d0461fadad user: simon tags: trunk | |
| 03:00 | grammer check-in: b347690962 user: jacob tags: trunk | |
|
2004-03-30
| ||
| 15:35 | Reasonably grotty hacks so that the droppings left by the man page generation don't interfere with the main HTML doc generation. check-in: a417aef738 user: jacob tags: trunk | |
| 05:36 | Miscellaneous tinkering: - remove a couple of "fixed in 0.52" (or before) type questions - mention Mac OS X port that someone was working on - add a missing {Question} check-in: 2b0acbad1f user: jacob tags: trunk | |
|
2004-03-29
| ||
| 05:37 | PayPal is actually _much_ easier to work with than e-gold these days, so I've reversed the order in the donations question. check-in: ab9073ac97 user: simon tags: trunk | |
|
2004-03-26
| ||
| 09:18 | More experimental hackery for `win-dead-keys'. Works for me as well as it did in the one case I can test, but I suspect this isn't the whole story. Bletch. check-in: bedf0e581d user: jacob tags: trunk | |
|
2004-03-25
| ||
| 05:33 | tweak text about mouse reporting and copy and paste to indicate that shift's only necessary for mouse-based actions (since we seem to be growing more copy-and-paste options) check-in: 9b5b843723 user: jacob tags: trunk | |
| 03:03 | Hmm. Better turn that `make' into a `make -s', or else my nightly snapshot cron job will fill my mailbox with goo every day. check-in: de9af9cf40 user: simon tags: trunk | |
|
2004-03-24
| ||
| 14:03 | Use $(HALIBUT) variable consistently. check-in: 5bba68ed8d user: jacob tags: trunk | |
| 13:51 | Oh yes, and the Unix Makefile needs to know that as well. check-in: a0abe4a0a9 user: simon tags: trunk | |
| 13:50 | The Unix source archive ought to have pre-built docs (in particular man pages) in it, if only so that non-Halibut-users have what they need. check-in: 2ca7e92c9b user: simon tags: trunk | |
| 13:36 | Now that Halibut is capable of generating man pages better than I can do it by hand, I've converted the man page set from Unix PuTTY into Halibut format, and enhanced the Makefile so it will build them. At some future point this will also allow me to include the man pages as an appendix in the main manual (once I _have_ a main manual for Unix PuTTY). check-in: 8ed8af69e7 user: simon tags: trunk | |
| 08:53 | Fix from Thomas Henlich for bug in dead key support. I've reproduced the problem and verified the fix on Win2K with the US-International keyboard layout. (Closes: `win-dead-keys') <20040323143836.GA40414@rcs.urz.tu-dresden.de> check-in: 3efd8415bb user: jacob tags: trunk | |
|
2004-03-17
| ||
| 10:03 | Remove GetSystemPowerStatus() - should resolve hard-hangs check-in: 64f4920516 user: owen tags: trunk | |
|
2004-03-16
| ||
| 02:18 | Mention explicitly that offering us a reciprocal link is a very silly way to persuade us to link to a website. check-in: 6bd33101be user: simon tags: trunk | |
|
2004-03-11
| ||
| 04:59 | Tweak doc to reflect wrinkle in Owen's fixed implementation. check-in: 0cac237bdc user: jacob tags: trunk | |
|
2004-03-10
| ||
| 11:11 | Make `Copy all to Clipboard' copy all non-empty lines from the scrollback and the terminal to the clipboard, rather than just the content before the cursor. Should fix copyall-to-cursor. check-in: 080a2aa1ea user: owen tags: trunk | |
|
2004-03-05
| ||
| 13:01 | Finally correct REGEDIT syntax for "saving in a file" hack. (verified on Win2K) check-in: c59d59e737 user: jacob tags: trunk | |
|
2004-03-04
| ||
| 15:24 | Mention Links page in ports section, since there are now a number of third-party ports check-in: 7c9421dcd3 user: jacob tags: trunk | |
|
2004-03-01
| ||
| 12:17 | Mention that proxy password is saved in plain text in configuration, since we've had a couple of indignant e-mails. check-in: 0cd41d1245 user: jacob tags: trunk | |
|
2004-02-23
| ||
| 13:10 | Mention PocketPuTTY check-in: 19ffbc0f7a user: jacob tags: trunk | |
|
2004-02-22
| ||
| 10:52 | Expand "what platform" text to take account of Unix. check-in: 16bfe1ab55 user: jacob tags: trunk | |
| 09:05 | Add (probably frustratingly) bare-bones man pages for pscp and psftp. check-in: b234a49a5a user: jacob tags: trunk | |
| 08:57 | Correct slightly misleading usage check-in: ddafdba3a3 user: jacob tags: trunk | |
| 08:48 | Minor fix in usage message check-in: 2a40a6be8f user: jacob tags: trunk | |
| 08:40 | Fix typo in -C check-in: cf6924efab user: jacob tags: trunk | |
| 08:37 | Tart up, fix outright lies, mention web docs check-in: 45e76596ab user: jacob tags: trunk | |
|
2004-02-16
| ||
| 08:38 | Couple of new FAQ questions: `what's the point of the Unix port' and `why does scrollback no longer work when I run screen'. check-in: 757cecbb9d user: simon tags: trunk | |
|
2004-02-13
| ||
| 06:19 | bloody PageRank hackers. (since no-one objected to this wording back in October) check-in: ed84158c07 user: jacob tags: trunk | |
| 05:20 | I don't think iXplorer is now sufficiently unique to mention in the docs (given that we have a Links page full of such things now) check-in: 8f703c093d user: jacob tags: trunk | |
| 01:42 | Alexei Podtelezhnikov points out that PuTTYgen's key-type default ought to have moved in sync with PuTTY's SSH version default. check-in: dfeb697d71 user: simon tags: trunk | |
|
2004-02-12
| ||
| 18:41 | Add .map files to Cygwin "clean" target check-in: b4a718318e user: jacob tags: trunk | |
| 18:40 | Makefile.cyg now generates a link map. check-in: b7bd9aa3a7 user: jacob tags: trunk | |
| 18:21 | Remove claim that there's no Unix puttygen check-in: 04ffb96117 user: jacob tags: trunk | |
| 18:20 | Missed one: sftp-slow has gone away with 0.54 check-in: 4bd7bb3717 user: jacob tags: trunk | |
| 17:26 | Bah! Knew there'd be _something_. check-in: ff49dbc8ca user: simon tags: trunk | |
| 13:45 | Modifications to the release procedure as a result of actually trying to _follow_ it for the first time :-) And also due to the fact that it now needs to mention the Unix source tarball as well. check-in: 21ee2b6ec1 user: simon tags: trunk | |
| 12:28 | Back out my temporary edit of the FAQ, to make it once again 0.54-ready. check-in: 8344daa2ec user: simon tags: trunk | |
|
2004-02-11
| ||
| 07:58 | Jacob's last-minute testing found a couple of trivial bugs in import.c, and my attempts to reproduce them in cmdgen found another one there :-) check-in: bab44f7875 user: simon tags: trunk | |
|
2004-02-10
| ||
| 13:32 | Sigh. Since Mailman breakage means we won't be releasing 0.54 today after all, I'll slightly edit those FAQ changes. check-in: a7c334f8d3 user: simon tags: trunk | |
| 13:07 | Jacob reports a segfault when using HTTP proxying under Minefield. It appears that this is because Visual C's sscanf works by first calling strlen to get the length of the string, so that its internal read-character routine can be sure of never overrunning the buffer. Quite why the internal read-char routine can't detect \0 _itself_ rather than having to have it found for it in advance I have no idea. Sigh. check-in: 3ec197ac8d user: simon tags: trunk | |
| 12:22 | Jacob's FAQ changes for 0.54. check-in: 74c857ec0e user: simon tags: trunk | |
|
2004-02-07
| ||
| 18:14 | Briefly document the "special commands" menu. check-in: 23e50f9479 user: jacob tags: trunk | |
| 17:49 | Document the new "Compromise" mouse-handling option introduced 2003-11-20 check-in: c7619015fd user: jacob tags: trunk | |
| 17:35 | Mention the Ctrl+right-click context menu now available on Windows. check-in: b4575ce886 user: jacob tags: trunk | |
| 17:21 | Update the advice about updating the wishlist post-release check-in: a1f161f987 user: jacob tags: trunk | |
| 12:17 | Update version numbers preparatory to tagging for release. check-in: d12e611422 user: simon tags: trunk | |
| 12:14 | Another admin script, to build the Unix source archive. check-in: 5b54f9b6f6 user: simon tags: trunk | |
| 12:10 | Added a wrinkle to the version.c build in the Unix makefile, which will validate an md5sums manifest and if all md5sums match will use a version number provided in a file. This should allow me to produce a Unix release source archive with the property that when unpacked and built it will produce binaries advertising themselves as `Release X.YZ', but as soon as the user starts fiddling with the sources it will revert to `Unidentified build' (though of course the user can still _explicitly_ ask for a release tag, and in fact this will override the default if any default is specified). check-in: e466cedb10 user: simon tags: trunk | |
| 11:38 | Add some Unix blurb. check-in: c22ba93d5c user: simon tags: trunk | |
| 11:36 | Silly grammatical error. check-in: 28298cc16e user: simon tags: trunk | |
| 04:02 | Charles Wilcox reported a signature validation bug with 2500-bit RSA keys. This _appears_ to be due to me computing the byte count of the key by dividing the bit count by 8 and rounding _down_ rather than up. Therefore, I can't see how this code could ever have worked on any SSH2 RSA key whose length was not a multiple of 8 bits; and therefore I'm staggered that we haven't noticed it before! OpenSSH's keygen appears to be scrupulous about ensuring the returned key length is exactly what you asked for rather than one bit less, but even so I'm astonished that _all_ keygen implementations for servers we've ever interoperated with have avoided tripping this bug... check-in: 8b68dde6cc user: simon tags: trunk | |
|
2004-02-04
| ||
| 12:39 | Host key q: mention kh2reg.py check-in: c7c545bb08 user: jacob tags: trunk | |
|
2004-02-03
| ||
| 08:47 | Patch from Theo Markettos: apparently "BSD-derived IP stacks fall over when trying to bind to the localhost interface with a sockaddr_in which has non-zero sin_zero fields." Zero sockaddr_in (and sockaddr_in6) before any use. check-in: fbed7799c5 user: jacob tags: trunk | |
| 08:36 | Patch from Colin Watson: document pterm.WarnOnClose check-in: 26037d0de4 user: jacob tags: trunk | |
|
2004-01-24
| ||
| 12:30 | Unix PuTTYgen: exists check-in: ab3d188cf0 user: jacob tags: trunk | |
| 11:16 | Reasonably thorough test suite for command-line PuTTYgen, and several bugs fixed in the process of constructing same. check-in: 1f6bbae224 user: simon tags: trunk | |
|
2004-01-23
| ||
| 07:21 | Add a man page for the new command-line PuTTYgen. check-in: ae2438c41a user: simon tags: trunk | |
| 07:21 | Couple of bits missing from the command-line help. check-in: 1280360923 user: simon tags: trunk | |
|
2004-01-22
| ||
| 13:15 | Added a command-line key generation tool. Currently builds and runs on Linux, but the (very few) platform-specific bits are already abstracted out of the main code, so it should port to other platforms with a minimum of fuss. check-in: 78dba49b08 user: simon tags: trunk | |
| 12:52 | Placate some gcc warnings. check-in: 1b3470bc88 user: simon tags: trunk | |
| 12:37 | Fix a casting bug with the length-independent sshbn code. check-in: 6b1ac946a2 user: simon tags: trunk | |
|
2004-01-21
| ||
| 15:11 | Bah! Nicolas Barry correctly points out that my async agent code simply doesn't work - if multiple concurrent agent requests are attempted, some of them will fail for no apparent reason. I assume concurrent SendMessage() calls don't work in the Windows API, or some such. So I'm commenting out the async code for the moment (there wasn't a Windows Pageant that made helpful use of it anyway yet) and returning to the drawing board. check-in: 97b606b22e user: simon tags: trunk | |
| 14:59 | Kaisuke Nakajima points out that it's unnecessary to translate negative font sizes (meaning pixels) into positive ones (points) in winstore.c, since it gets done anyway at the point of font creation; and removing the code in winstore.c means that the precise font entered by the user is saved in the config, rather than being rounded. check-in: d86c347e2d user: simon tags: trunk | |
| 13:56 | Darryl L. Miles's patch to support an optional port number argument on the PSFTP `open' command; it was arguably a bug that this command couldn't do such an obvious thing that could be done from the main command line. Also had to fix a NULL-dereference in do_sftp_cleanup in the process. check-in: 84e5eca94f user: simon tags: trunk | |
| 13:45 | Theo Markettos's unsigned-vs-signed-char pedantry patch. check-in: d58f7637c1 user: simon tags: trunk | |
| 13:41 | Two small memory leaks, also noticed by Martin Prikryl. check-in: 086da3a301 user: simon tags: trunk | |
| 13:33 | Martin Prikryl points out that need_pw may be used uninitialised. check-in: e13b2bf694 user: simon tags: trunk | |
| 11:11 | `What is PuTTY?' gets asked _just_ frequently enough to have finally annoyed me. check-in: 6ded91a6e0 user: simon tags: trunk | |
|
2004-01-20
| ||
| 15:00 | Update for latest mkfiles.pl kerfuffle check-in: 09fcfb0ba6 user: jacob tags: trunk | |
| 14:42 | Fix unterminated comments in previous checkin check-in: e625c500bd user: jacob tags: trunk | |
| 14:35 | Oh, and mention lcc in the README. check-in: afc7394a15 user: simon tags: trunk | |
| 14:35 | Alexey Savelyev's mkfiles.pl patch to support lcc-win32. This has caused a small amount of extra inconvenience at the tops of .rc files, but it's been positive overall since lcc has managed to point out some pedantic errors (typically static/extern mismatches between function prototypes and definitions) which everything else missed. check-in: c0d4df0389 user: simon tags: trunk | |
| 13:46 | Paul van der Meij points out that do_reconfig() should not free dp.errtitle, since it's also freed in dp_cleanup(). Minefield agrees. Fixed. check-in: 55462fd892 user: simon tags: trunk | |
| 13:41 | Josh Hill's patch for full-screen mode on a multi-monitor system: clicks in the top left of the window should not be detected by comparing the coordinates with (0,0) since this won't work on secondary monitors. check-in: d8dda0a4ee user: simon tags: trunk | |
| 13:30 | Mark Wutzke points out that the comment in sk_proxy_set_frozen() states that plug_receive() may recurse back into sk_proxy_set_frozen() again. Therefore, bufchain_consume() should have been called _before_ calling plug_receive(), to prevent an infinite loop overflowing the stack. I can't immediately figure out under what circumstances this might happen, but it seems an obviously sensible precaution. check-in: 438d79e310 user: simon tags: trunk | |
| 06:46 | `portfwd-loopback-choice' was not consistently documented. - update usage info in tools - ack, plink is over 24 lines now - update man pages for Unix version - Doc changes: - move long description from (GUI) "config" to "using" - sorry if complete specification isn't what this section is meant for, but if you only read "using" it was hard to find. - ensure enough references to this made in other sections (GUI, command-line) - update instance of plink usage info check-in: d90d7ccbd4 user: jacob tags: trunk | |
|
2004-01-19
| ||
| 03:37 | Idiot me _twice_! The new store_host_key() was failing in the absence of an existing host key file. Duhh. check-in: fa6ecdda0f user: simon tags: trunk | |
|
2004-01-18
| ||
| 18:19 | Re local X server auth, clarify that it's _us_ you should mail, and link to the Feedback section. check-in: d6a959cf10 user: jacob tags: trunk | |
| 03:14 | Memory management fixes. Fixed a segfault in SSH1 compression cleanup noticed by Gerhard Wiesinger, and also fixed some memory leaks spotted by valgrind while debugging same. check-in: ce29cbc0c9 user: simon tags: trunk | |
| 02:45 | Oops, two lines moved out of my snapshot script should have been left there! Bah. check-in: a2cb22291d user: simon tags: trunk | |
|
2004-01-17
| ||
| 08:25 | Various uninitialised-variable accesses picked up by valgrind. check-in: a59ea011be user: simon tags: trunk | |
| 08:17 | Building source archives for previous releases has always been a fiddly process. Let's have a magic script designed to do it right. check-in: 586b37108e user: simon tags: trunk | |
| 07:48 | Joe Yates's patch to make mkfiles.pl generate Visual Studio project files as well as an nmake makefile. Needed line-end tweakery in order to be able to generate usable project files when run on Unix, but other than that appears fine. Ooh! check-in: 60f90a9de8 user: simon tags: trunk | |
| 07:24 | So _that's_ why mkfiles.pl was running so slowly on my Windows box! &findfile() now caches its results. At least one full order of magnitude speedup when running on an SMB-mounted volume. Phew. check-in: 0b3db4a44c user: simon tags: trunk | |
| 07:00 | Idiot me! store_host_key() was blindly _appending_ new host keys to the end of the host key file. This is perfectly all right if a host key never changes, but it's completely useless if you need to replace an existing entry. This version should do better. check-in: 5d35d98cee user: simon tags: trunk | |
|
2004-01-01
| ||
| 10:47 | It's a new year. check-in: 99a396bcef user: simon tags: trunk | |
| 10:42 | Joe Yates's memory leak patch was overenthusiastically freeing things; it called freebn on the DH gex values even if DH gex had not taken place. Bug was trivially reproducible as a NULL-dereference segfault by making any SSH2 connection with DH gex disabled. Should now be fixed. check-in: 698fe6e51d user: simon tags: trunk | |
|
2003-12-31
| ||
| 10:09 | D'oh! WideFont and WideBoldFont were being read from session files, but not written. I _thought_ something odd was happening with my UTF-8 pterms. check-in: 0b63c7c0f9 user: simon tags: trunk | |
|
2003-12-19
| ||
| 06:44 | Joe Yates's memory leak patches. check-in: e9b1098ae1 user: simon tags: trunk | |