Timeline

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

181 check-ins using file pscp.c version 5aa95f8cf1

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