Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
143 check-ins using file windows/winplink.c version 7d55415e24
|
2009-01-05
| ||
| 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 | |