Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
919 check-ins using file sftp.h version 5ec95d05f9
|
2003-06-28
| ||
| 09:11 | Failure to set multipliers[NPRIMES] was rendering the input-modulus feature (make sure your prime is not congruent to Foo mod Bar) largely ineffective. As a result, RSA keys were being generated every so often with at least one prime congruent to 1 mod 37, causing modinv(37, phi(n)) to divide by zero, and rightly so. I believe this fixes `puttygen-zero-div'. check-in: 7806f0f2c6 user: simon tags: trunk | |
| 09:10 | bignum_mod_short shouldn't be depending on a fixed place value in the bignum data! This wasn't actually causing puttygen-zero-div (its unwarranted assumption was still correct under Windows) but it would have caused the same symptoms under Unix when I got round to porting PuTTYgen. check-in: 17934d0f46 user: simon tags: trunk | |
| 02:52 | Someone pointed out that ^~ should generate the same as ^^, for consistency with xterm. check-in: 54510097cb user: simon tags: trunk | |
|
2003-06-26
| ||
| 10:08 | Implement sftp-backend-diagnostic in pscp. check-in: 2cb6a9eb00 user: owen tags: trunk | |
| 09:19 | Implement hostkey-prompt-type everywhere except Macintosh. check-in: 4f0e9c740b user: owen tags: trunk | |
| 08:41 | Fix a segfault (non-security-critical - null dereference for reading) in the zlib code when fed certain kinds of invalid data. As a result, ssh.c now needs to be prepared for zlib_decompress_block to return failure. check-in: 0d2defefe0 user: simon tags: trunk | |
|
2003-06-25
| ||
| 10:52 | Incorporate Brad Clarke's suggestion to use "REGEDIT /EA" rather than "REGEDIT /E". On newer versions of Windows (verified on 2K), this will cause the .REG file to be saved in REGEDIT4 format (ASCII) which can be read by older Windows, rather than REGEDIT5 (Unicode). On older Windows, the extra "A" is harmless (verified on Win98). check-in: c7a798eb4f user: jacob tags: trunk | |
|
2003-06-21
| ||
| 18:13 | Missing part of my recent SCOANSI fix. check-in: 43df005e0b user: ben tags: trunk | |
| 17:40 | Improve SCOANSI emulation: The colours that SGR 0 returns to are now changed by the SCO SNF and SNB sequences, which seems to be what the SCO console does (at least in the new mode documented for OpenServer 5.0.6). check-in: c31bb4b658 user: ben tags: trunk | |
| 16:19 | Oops, Ben got there first. Oh well, here's a comment. check-in: 1fe3821653 user: jacob tags: trunk | |
| 15:21 | The specific SSH cipher algorithms supported by PuTTY weren't listed anywhere in the documentation. Added some detail - feel free to tweak. check-in: d54cd3d495 user: jacob tags: trunk | |
| 14:38 | Add comments to case statements containing the mnemonics for the various escape and control sequences. This should make it easier to find the implementation of the one you're interested in. check-in: 0051dbf761 user: ben tags: trunk | |
| 14:34 | Remove -DNO_SECURITY from the cygwin build, since <aclapi.h> has been available in cygwin for a year and a half. Pointed out by Bruno Kozlowski. check-in: 820c046442 user: ben tags: trunk | |
|
2003-06-19
| ||
| 18:04 | Fix problem quitting terminal window while Change Settings active check-in: bb5b43fd80 user: owen tags: trunk | |
| 15:42 | Fix for `double-alt-keystrokes'. Thanks to Leonid Lisovskiy. check-in: fdafcc52a8 user: jacob tags: trunk | |
|
2003-06-18
| ||
| 12:25 | Make SaneDialogBox and SaneEndDialog use [GS]etWindowLong rather than a global variable. Should mean that pageant builds. check-in: fac607e778 user: owen tags: trunk | |
|
2003-06-16
| ||
| 18:55 | Fix double-keystrokes by wrapping CreateDialog check-in: f097cec457 user: owen tags: trunk | |
|
2003-06-15
| ||
| 17:05 | Support for more SCO ANSI escape sequences: CSI = Ps c CSI = Pn1 ; Pn2 C CSI = Ps D CSI = Ps F CSI = Ps G SGR 6 Patch derived from one supplied by Leonid Lisoskiy, with several fixes from me. check-in: caf1367436 user: ben tags: trunk | |
|
2003-06-14
| ||
| 13:27 | Fix a couple of memory leaks pointed out by Adam Bernstein. check-in: f251013cab user: ben tags: trunk | |
|
2003-06-06
| ||
| 13:16 | Suggest that local support staff are useful. check-in: e0337d361a user: ben tags: trunk | |
| 05:42 | Move prototype for platform_new_connection() to a header file so the definitions can be checked against it. check-in: ee0a576001 user: ben tags: trunk | |
|
2003-05-27
| ||
| 04:43 | Experimental change in the behaviour of `disable alternate terminal screen'. Now it also disables the save-and-restore-cursor behaviour of ESC[?1048h and ESC[?1049h, since these sequences seem to be output by software trying to switch to the alternate screen, and it looks very odd to have the cursor position restored to where it was before `less' when the garbage `less' wrote all over the screen is still around. The `traditional' ESC 7 and ESC 8 still function as normal, on the basis that they aren't usually used in conjunction with the alternate screen. I'm not sure whether this will be the right decision; I'm prepared to change it back if a sufficiently serious counterexample shows up. check-in: 28053f5cb7 user: simon tags: trunk | |
|
2003-05-24
| ||
| 14:03 | Add exceptions for "VShell" to the ssh.com bug compatibility modes (which are just numbers) in an attempt to fix `vshell-no-bug-compat'. Not even tested a little bit. check-in: 07103bef21 user: jacob tags: trunk | |
| 13:02 | Fixed accelerator clash between "Conversions" menu and "key comment" control (former is now "Con&versions"). Add shortcut to key fingerprint for ease of copy-and-paste. check-in: 0ef9f00904 user: jacob tags: trunk | |
| 07:31 | Modified form of Jim Lucas's PC speaker patch. I don't like discriminating on the Windows version in order to decide whether to call MessageBeep(-1) or Beep() - I'd prefer to directly test the specific OS property in any given case - but it looks as if this is the best available option. check-in: ec24b318e6 user: simon tags: trunk | |
| 05:57 | Incorporate matthew.gabeler-lee's suggested fix for badness with multiple exact hostnames in the proxy exclusion list. <OF63043512.26ABC6B9-ON85256D21.006C33C6-85256D21.006C4B81@EU.novartis.net> check-in: 19dcf6e327 user: jacob tags: trunk | |
|
2003-05-22
| ||
| 03:43 | Update a couple of bits of the FAQ. We do now default to SSH2, and we do have a Unix port of PuTTY proper. check-in: e699ed6ea4 user: simon tags: trunk | |
|
2003-05-14
| ||
| 13:53 | Rene Post's other patch: PuTTYgen was generating double file dialogs by mistake. check-in: bea54a66b8 user: simon tags: trunk | |
|
2003-05-13
| ||
| 14:57 | Real COMPOUND_TEXT support! I was expecting to have to read the spec and implement the required subset of ISO-2022 in libcharset, but it turns out that Xlib provides conversion functions between UTF-8 and compound text, which are just about ideal for us. So now we can paste multilingual stuff both to and from emacs21. Rock on. check-in: f09b9e07b0 user: simon tags: trunk | |
| 13:43 | Allow pterm to receive selections in compound text format. Doesn't actually _understand_ compound text yet - anything with non-ASCII-or-8859-1 characters will fail miserably - but it will at least successfully receive plain text if the pasting application doesn't see fit to give it out in any other format. check-in: 968a183c28 user: simon tags: trunk | |
| 13:23 | Rename crc32() to crc32_compute(), to avoid clashing catastrophically with the crc32() function in the zlib interface. (Not that PuTTY itself _uses_ zlib, but on Unix it's linked against libgtk which uses libpng which uses zlib. And zlib has poor namespace management so it defines this ridiculously intrusive function name. Arrrrgh.) check-in: 3bdddd4aca user: simon tags: trunk | |
| 13:14 | Debian bug #193013 points out that the (default-)one-pixel border is not redrawn when the window background colour is reconfigured mid- session. In addition, the Official Window Background is not reset, meaning that opaque resizes etc will flicker in the old background colour. This checkin should fix both. check-in: 58b0de2d23 user: simon tags: trunk | |
|
2003-05-12
| ||
| 08:41 | Patch from Rene Post: ctrl_{drag,drop}list both now initialise the same set of structure fields that the ordinary ctrl_listbox does. check-in: 831ebbbfab user: simon tags: trunk | |
|
2003-05-11
| ||
| 09:32 | Brief man pages for PuTTY and PuTTYtel. check-in: f5b8fd889c user: simon tags: trunk | |
| 09:19 | Missing full stop. check-in: 475007a30b user: simon tags: trunk | |
| 09:19 | Some time ago I arranged for -geometry to be able to specify window position as well as size. Now reflected in manpage. check-in: a083cca719 user: simon tags: trunk | |
| 07:28 | I think I've just fixed Debian bug #166396. The +ut option was causing pty_utmp_helper_pipe to be closed, but its fd was kept around even when stale, and closed again when the main child process terminated - by which time the fd number had been reused for a rather more vital fd, which GTK didn't appreciate having closed under its feet. Hence, spin on POLLNVAL. Should now be sorted. check-in: 3000ac05c2 user: simon tags: trunk | |
|
2003-05-10
| ||
| 15:51 | Finally, column spanning. check-in: 4801159691 user: ben tags: trunk | |
| 15:23 | Change the way that panel-switching works so that we only hide the panel we're switching from and show the panel we're switching to, rather than iterating over all the panels, hiding and showing them as appropriate. This has that consequence that all controls have to be created invisible, since they no longer get hidden after creation. As usual, the scroll bars on list boxes have a special hack of their own. check-in: acb67a74ed user: ben tags: trunk | |
| 07:54 | Make ssh_agent_callback() and ssh_agentf_callback() static. check-in: 4e8c6bdb81 user: ben tags: trunk | |
| 07:27 | I believe that verify_ssh_host_key() should now be passed a real front-end handle, which removes one of its many flaws. check-in: 05277e0eb1 user: ben tags: trunk | |
| 06:57 | Extra const for loop_init() and null_init(). check-in: d3d894df55 user: ben tags: trunk | |
| 06:50 | Eliminate a "possible unintended assignment" warning. check-in: 84bfa51b16 user: ben tags: trunk | |
| 06:40 | Update signature of agent_query() to match the rest of the world. check-in: 92853bdca9 user: ben tags: trunk | |
| 06:26 | Comment a few things I need to fix. check-in: a512e8630f user: ben tags: trunk | |
| 05:15 | Remove the now incorrect `Unicode is not supported' from the bugs in the pterm man page :-) check-in: b41b828c1d user: simon tags: trunk | |
| 05:15 | pterm will now attempt to guess suitable names for any missing fonts from the ones given; so it'll ask for a font twice as wide as your base one if you don't specify a wide font, it'll ask for a bolded version of your base font if you don't specify a bold font, and similarly for a wide/bold font. Should solve Debian bug #187389; at least it works for me. check-in: d3acdabf8d user: simon tags: trunk | |
| 04:06 | pterm's manpage now documents the NoRemoteQTitle resource. Should fix the other half of Debian bug #191751. check-in: fb72bd7176 user: simon tags: trunk | |
| 04:05 | Stupid braino in get_window_title (thanks Colin): window and icon titles were being reported the wrong way round. Should fix half of Debian bug #191751. check-in: d622d5a81e user: simon tags: trunk | |
| 03:37 | Should fix Debian bug #192674: another gcc complaint about potentially uninitialised variable. check-in: ce4d5b47fb user: simon tags: trunk | |
| 03:35 | Fixes for Debian bug #192701 (64-bit gccs warn about casts between ptrs and ints of different size and -Werror makes this serious). The GTK bits are done by Colin's patch to use GINT_TO_POINTER (thanks); the uxnet bits are done by cleaning up the rest of the code. In particular, network.h now typedefs `OSSocket' to be a type capable of holding whatever the OS's socket data type is that underlies our socket abstraction. Individual platforms can make this typedef themselves if they define OSSOCKET_DEFINED to prevent network.h redoing it; so the Unix OSSocket is now int. Default is still void *, so other platforms should be unaffected. check-in: e1f861acb0 user: simon tags: trunk | |
|
2003-05-08
| ||
| 04:07 | Fix a typo in my backwards-compatibility wart. Oops. check-in: 1ca67c7332 user: simon tags: trunk | |
|
2003-05-07
| ||
| 08:14 | Bah. Stop the Proxy panel appearing empty in Change Settings. One day I'll make a reasonably big checkin and _not_ have six tiny mop- up issues after it... check-in: 1106ef9013 user: simon tags: trunk | |
| 07:07 | Yesterday's proxy enhancements also slightly nadgered the config box, in that it started to expand under the weight of proxy options. Now fixed, by folding the SOCKS version selector into the general proxy type selector so there's one single 5- or 6-way radio button set split over two lines. settings.c has of course grown a backwards compatibility wart to deal with legacy config data. check-in: e5c791f97a user: simon tags: trunk | |
| 03:49 | Ahem. Well, the complicated Unix implementation of platform_new_connection() worked fine, but the really simple stub version for the other ports fell over horribly because I got its name wrong. NEVER ASSUME YOU'VE DONE THE EASY BIT RIGHT. check-in: af02c1fbaa user: simon tags: trunk | |
|
2003-05-06
| ||
| 14:55 | Reinstate `-T title', in pterm only. check-in: 0fed8bc460 user: simon tags: trunk | |
| 14:52 | Support, on Unix only (so far), for OpenSSH-style generic proxying (running a local command in a pair of pipes and proxying through that, for example `ssh proxyhost nc -q0 %host %port'). check-in: 5f42413627 user: simon tags: trunk | |
| 03:43 | Update to use -title rather than -T check-in: 3d5f4bd15e user: owen tags: trunk | |
|
2003-05-04
| ||
| 09:18 | Colin's const-fixing Patch Of Death. Seems to build fine on Windows as well as Unix, so it can go in. check-in: c9f1945192 user: simon tags: trunk | |
| 09:14 | Colin's and my fixes to connection_fatal(). check-in: 1bf6f94877 user: simon tags: trunk | |
|
2003-04-28
| ||
| 08:59 | Asynchronous agent requests on Windows. Actually, I've kept the ability to do synchronous ones as well, because PSCP and PSFTP don't really need async ones and it would have been a serious pain to implement them. Also, Pageant itself when run as a client of its primary instance doesn't benefit noticeably from async agent requests. check-in: e54332edd4 user: simon tags: trunk | |
| 06:41 | First half of `pageant-async' work. agent_query() is now passed a callback function; it may return 0 to indicate that it doesn't have an answer _yet_, in which case it will call the callback later on when it does, or it may return 1 to indicate that it's got an answer right now. The Windows agent_query() implementation is functionally unchanged and still synchronous, but the Unix one is async (since that one was really easy to do via uxsel). ssh.c copes cheerfully with either return value, so other ports are at liberty to be sync or async as they choose. check-in: 038bb0a77e user: simon tags: trunk | |
|
2003-04-27
| ||
| 06:11 | Add puttytel binary to .cvsignore check-in: e1c13ddcb8 user: simon tags: trunk | |
| 06:10 | Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a Euro-supporting font with a Euro-enabled X key map will now actually generate a Euro character rather than shrugging and doing nothing. check-in: 63945cefc6 user: simon tags: trunk | |
| 05:02 | radioline() was broken after the portable-dialog stuff got added, so PuTTYgen was lacking its key type selector. Fixed. check-in: 2451a3c179 user: simon tags: trunk | |
| 04:45 | Take the random number generator back out of Pageant: the `random' numbers needed for RSA blinding are now done deterministically by hashes of the private key, much the same way we do it for DSA. check-in: 45ede95073 user: simon tags: trunk | |
|
2003-04-26
| ||
| 09:37 | Remove the TODO comment at the top of uxputty.c; I'm now not aware of anything that makes the Unix port of PuTTY proper significantly unfinished. That's quite a milestone :-) check-in: d9f1cd86a5 user: simon tags: trunk | |
| 09:36 | Might as well provide PuTTYtel for Unix. It's not much effort! check-in: 9ee37125d8 user: simon tags: trunk | |
| 09:35 | Finer granularity of config box handling. SSH packet logging should now not show up when it's meaningless (in PuTTYtel, in pterm, and in the middle of any non-SSH session), and the Connection panel is inhibited completely in pterm. check-in: af66e213d9 user: simon tags: trunk | |
| 09:22 | Make the `vtmode' config option work under X. In the process I've had to move another of its values out into wincfg.c - paradoxically, this was the `font has X encoding' option! (Because the Unix font handling code expects to be able to tell for _itself_ whether it has a font with X-encoded line drawing glyphs.) check-in: 42587114a6 user: simon tags: trunk | |
| 08:55 | Aha, _that's_ why the icon title didn't work properly in pterm: gtk_window_set_title() overwrote both titles at once. Icon title is now working properly under X, and since X was the reason for the whole icon/window title separation _anyway_ they default to being separate. check-in: 9772d176d4 user: simon tags: trunk | |
| 08:22 | The line-drawing paste config option has changed its meaning since it was first designed. Alter the wording and documentation to match. check-in: 3927d00818 user: simon tags: trunk | |
|
2003-04-25
| ||
| 12:44 | The new ssh_do_close() function itself causes a segfault if the connection goes foom before ssh->channels is set up. Oops. Fixed. check-in: 899cb52b70 user: simon tags: trunk | |
| 11:42 | Fix another segfault on abrupt X connection shutdown. This should have happened in rev 1.5 [r996] but didn't! Now we never call sk_get_private_ptr() on a socket unless we've ensured it's non-NULL. check-in: 738c707e42 user: simon tags: trunk | |
| 10:44 | Don't block SIGPIPE until _after_ pterm forks, since otherwise the blockage will propagate to the child process. check-in: 9546ad05f2 user: simon tags: trunk | |
| 06:48 | Robustness in the face of sudden connection closures: we now make a credible effort to shut down open forwardings cleanly when the owning SSH connection terminates abruptly (for whatever reason). check-in: 26f97a0d19 user: simon tags: trunk | |
|
2003-04-23
| ||
| 10:25 | Force gcc to use x86's built-in 64/32->32,32 division instruction rather than swanning off to a helper function. This seems to make woefully little actual performance difference, which annoys me, but it's a just-about-detectable improvement so I'll leave it in. check-in: 0aa2c11554 user: simon tags: trunk | |
| 09:48 | Added framework to sshbn.c to make it possible to vary the underlying integer type forming the Bignum. Using this, arranged that gcc/x86 uses 32-bit chunks rather than the guaranteed ANSI- portable 16-bit chunks. This has gained another 30% on key exchanges by my measurements, but I'm not yet convinced that it's all perfectly robust - it seems to work fine for SSH1 and SSH2/RSA but I haven't ensured that every bignum routine is actually being tested, so it may yet show up problems in DSA or key generation. check-in: 3769f9433e user: simon tags: trunk | |
| 08:48 | Unix makefile now uses -O2, which massively cuts down key exchange time. This gives rise to a whole bunch of spare warnings, one or two of which might have been actual bugs; now all resolved. check-in: 6c10570c0b user: simon tags: trunk | |
|
2003-04-18
| ||
| 08:09 | Missing bits for colour selection support. check-in: 95a72b4829 user: ben tags: trunk | |
| 08:09 | Missing bits for System 7 listbox support. check-in: acc262a072 user: ben tags: trunk | |
| 04:14 | Removing items from a list box using gtk_container_remove is nasty, because when the selected item is removed the selection moves on to another item. Thus, calling dlg_listbox_clear causes repeated selchanges in the list, which in turn cause repeated valchanges if the list is attached to a combo box. This has been completely scuppering the Translation panel. check-in: a530f9d4d5 user: simon tags: trunk | |
| 04:06 | Oops; we _do_ need to set dport even when doing dynamic forwarding, because otherwise the `if (sport && dport)' statement runs the risk of not working. check-in: f3060f0139 user: simon tags: trunk | |
| 04:00 | Missed out a couple of uxsel_tell() which were hanging forwarded X connections in at least some situations. Oops. check-in: 384eaf1a25 user: simon tags: trunk | |
| 04:00 | Fix obvious foulup in X forwarding: my recent `how did this ever work' change to port forwarding completely broke it, by failing to set peeraddr{,len} before reading them. Oops. check-in: 58503ab138 user: simon tags: trunk | |
|
2003-04-16
| ||
| 18:58 | Replace use of FIONBIO with POSIX-approved O_NONBLOCK (set using fcntl()). This should save us having to worry about different OSs' defining it in different headers. check-in: bc49ee811b user: ben tags: trunk | |
| 18:33 | Make IPv6 support for Unix work, and make it a lot simpler in the process. At the moment, we have to assume that getaddrinfo() will only return AF_INET and AF_INET6 addresses, since we patch in the port number into the sockaddr later. Fixing this is probably best done by redesigning the PuTTY network abstraction a little. check-in: 6206b1162a user: ben tags: trunk | |
|
2003-04-14
| ||
| 18:47 | Remove all those horrid fprintfs. check-in: 91ec589e47 user: ben tags: trunk | |
| 18:28 | Set the space required by a listbox sensibly as well. check-in: 3c809505f1 user: ben tags: trunk | |
| 18:25 | Minor fixes: - Erase the background of System 7 editboxes before drawing them. - Set the height of listboxes correctly. - Set the panel-selection listbox to 20 items high. check-in: 82e19cbda1 user: ben tags: trunk | |
| 17:55 | Don't call GetColor() if we don't have Color Quickdraw -- no good will come of it. check-in: f093d4afaa user: ben tags: trunk | |
| 17:42 | Support for colour selection in the Mac OS. check-in: 1bb87f2427 user: ben tags: trunk | |
| 16:34 | Keyboard events in Mac OS 8 list boxes should generate EVENT_SELCHANGE, not EVENT_VALCHANGE. check-in: 0d697e5d61 user: ben tags: trunk | |
| 16:15 | Enlarge the settings window so as to fill a 640x480 display. This makes enough space to actually fit all of the panels. I'll have to do a version with smaller fonts for 9" screens. check-in: c660bc8f15 user: ben tags: trunk | |
|
2003-04-13
| ||
| 09:37 | Add a list box to the config dialogue to switch between panels. Now I don't have to recompile to change panels! check-in: 22c49c931e user: ben tags: trunk | |
| 08:52 | Support for list boxes under System 7. There are some horrible kludges in this code to do with the handling of the scroll bar, but it doesn actually work better than the Mac OS 8 version. check-in: 6af1a1874e user: ben tags: trunk | |
|
2003-04-12
| ||
| 16:23 | socks5_negotiate(): rather than using an uninitialised value when passed an address of an invalid type, assert() that it will never happen. Do something similar for SOCKS4 as well. check-in: 125ea26ede user: ben tags: trunk | |
| 16:15 | Don't use an uninitialised value when we get an unsupported ATYP in a SOCKS5 request. Spotted by GCC. check-in: 0bc01ae5f3 user: ben tags: trunk | |
| 16:07 | Remove a couple of spurious semicolons. check-in: 2e726f9adc user: ben tags: trunk | |
| 16:06 | Update for Simon's from_backend changes. check-in: 099db98855 user: ben tags: trunk | |
| 12:37 | Support for New Session, Duplicate Session and the Saved Sessions submenu in Unix PuTTY, and Duplicate Session also in pterm. You do _not_ want to know how this is done. Be warned. check-in: 2a16a8e814 user: simon tags: trunk | |
| 06:03 | Further fiddlings with the size reconfiguration stuff; now everything seems to work right even when the only thing changed was the window border. check-in: b3bd56e4fb user: simon tags: trunk | |
| 05:44 | Mid-session reconfiguration of scrollback was failing (in Unix) except when width or height had _also_ been changed. Fixed. check-in: 8d3c66813d user: simon tags: trunk | |
| 04:27 | Implement the ldisc `special' mechanism in Unix, without which local line editing didn't work at all. check-in: 82c66f5741 user: simon tags: trunk | |
| 04:19 | Fix from yesterday's frontend-handle upheaval: ldisc calls from_backend(), and must now pass its frontend handle rather than its terminal handle. check-in: ea2283da3c user: simon tags: trunk | |
| 04:05 | Mid-session BCE reconfiguration wasn't taking effect immediately because I forgot to set term->erase_char in response to the change in term->use_bce. Oops. check-in: 32701df063 user: simon tags: trunk | |
| 03:59 | Disable window title reporting by default, since it's a security hazard. I considered removing it completely, but I can't rule out the possibility of an OS that actually takes security of its terminal devices seriously, and which might be able to make sensible and safe use of this feature. check-in: a301bcba32 user: simon tags: trunk | |
| 03:27 | Close On Exit and Warn On Close fixes: (a) pty_reconfig needs to remember changes in COE so it knows whether to print a message, and (b) once the session has already ended, Warn On Close should shut up. check-in: ab6d1303e3 user: simon tags: trunk | |
|
2003-04-11
| ||
| 13:44 | When I implemented the GTK messagebox() function and everything that needed to use it, I completely forgot about askappend(). D'oh. check-in: 3e873ea700 user: simon tags: trunk | |
| 13:36 | Rationalisation of the system of frontend handles. Most modular bits of PuTTY (terminal, backend, logctx etc) take a `void *' handle passed to them from the frontend, and used as a context for all their callbacks. Most of these point at the frontend structure itself (on platforms where this is meaningful), except that the handle passed to the backend has always pointed at the terminal because from_backend() was implemented in terminal.c. This has finally bitten Unix PuTTY, because both backend and logctx have been passing their respective and very different frontend handles to logevent(), so I've fixed it. from_backend() is now a function supplied by the _frontend_ itself, in all cases, and the frontend handle passed to backends must be the same as that passed to everything else. What was from_backend() in terminal.c is now called term_data(), and the typical implementation of from_backend() in a GUI frontend will just extract the terminal handle from the frontend structure and delegate to that. This appears to work on Unix and Windows, but has most likely broken the Mac build. check-in: 70ba0246e2 user: simon tags: trunk | |
| 13:15 | Implement Warn On Close. check-in: 2ae43e06b7 user: simon tags: trunk | |
| 13:10 | `Copy All' ought to de-highlight any existing selection, in line with any other operation that shifts the X selection to stuff other than the highlighted text. check-in: 6541124864 user: simon tags: trunk | |
| 12:59 | `Copy All' context-menu item, for what it's worth. check-in: b75870b6d0 user: simon tags: trunk | |
| 12:42 | Saving of Default Settings under Unix was broken, because mungestr() was translating NULL into "Default Settings" but not doing the same to "". Now fixed. check-in: 60fa437889 user: simon tags: trunk | |
| 12:40 | Cutting and pasting from the Unix Event Log. check-in: 26feaa9728 user: simon tags: trunk | |
| 12:39 | A poster on comp.security.ssh mentions that he had expected to find the location of PuTTY's data storage mentioned in the manual section about loading and storing sessions. This seems not unreasonable, so I've put it there. check-in: 9a7bf85793 user: simon tags: trunk | |
|
2003-04-10
| ||
| 13:00 | Implemented Change Settings under Unix. We are gradually getting there. check-in: bc0d66460b user: simon tags: trunk | |
| 06:57 | All the stderr messages in this file now use appname rather than guessing wrongly. check-in: bad4bd5783 user: simon tags: trunk | |
| 03:53 | Minor improvements to subsidiary window placement; with any luck the Event Log should go off the side of the screen rather less often now. check-in: 6843a0d490 user: simon tags: trunk | |
|
2003-04-09
| ||
| 13:46 | Event Log for Unix PuTTY. Doesn't yet allow X selection of its contents, and doesn't automatically maintain scroll position at the bottom when new entries are added while the list is open, but it's a start. check-in: e121761c3c user: simon tags: trunk | |
| 06:19 | Remote-to-local port forwarding in SSH2 was apparently completely broken! We were expecting the peer address/port in the incoming packet _before_ the connected address/port, which is just wrong. I wonder how I managed to mess that up. check-in: ccc0edfdd6 user: simon tags: trunk | |
| 06:18 | `dynamic' was uninitialised in other types of port forwarding. Oops. check-in: 31ab5ac85c user: simon tags: trunk | |
| 04:09 | Chas Honton's patch to dynamic port forwarding: should allow longer host names in SOCKS 4A, up to 255 characters (which is apparently the DNS limit anyway). check-in: 57a65eb3b0 user: simon tags: trunk | |
|
2003-04-08
| ||
| 09:02 | Rename pterm's -T option to -title, to avoid clashing with PuTTY's -T (don't allocate a pty) option. check-in: be7fc2e743 user: simon tags: trunk | |
| 08:49 | While writing gtkdlg.c I learned how to specify a window's initial position in GTK, so I can now implement the other half of -geometry which I'd previously believed to be impossible in GTK. It's still not perfect, because GTK apparently provides no way for us to get hold of the X reparent event in order to support negative geometries in a manner which takes account of the WM borders; but for positive position it's at least an improvement on the previous version! check-in: 026dce549a user: simon tags: trunk | |
|
2003-04-06
| ||
| 09:11 | Now that we have `appname', make much wider use of it. In particular, the config box uses it in place of the word `PuTTY', which means mid-session reconfig in pterm will look less strange once I implement it. Also, while I'm at it, I've personalised all the dialog boxes and menu items and suchlike so that PuTTYtel actually claims to be PuTTYtel rather than PuTTY. check-in: 9f2b96b3a4 user: simon tags: trunk | |
| 08:27 | To avoid gratuitous flicker, if a control already has the focus when it's clicked in, don't attempt to move the focus at all. check-in: c388e816ee user: ben tags: trunk | |
|
2003-04-05
| ||
| 16:12 | Const fallout, as predicted. check-in: 0517c2308b user: ben tags: trunk | |
| 16:10 | Bring list of applications and architectures up to date. check-in: a289f393f8 user: ben tags: trunk | |
| 16:03 | dd support for list boxes in Mac OS 8. Not entirely solid, but largely working. [ bits missed in the first commit ] check-in: 8077426a60 user: ben tags: trunk | |
| 16:00 | Add support for list boxes in Mac OS 8. Not entirely solid, but largely working. check-in: 772204cccf user: ben tags: trunk | |
| 13:52 | Bah. There's always one I forget to `cvs add'. check-in: ac3b232fe1 user: simon tags: trunk | |
| 12:00 | On System 7, draw the default ring in grey if the window is disabled. This isn't _quite_ right, since it uses a b/w dither everywhere, whereas it should use grey on colour screens. That would involve mucking around with DeviceLoop, though, and I'm not sure I can be bothered. check-in: 0d2e7b8db3 user: ben tags: trunk | |
| 11:19 | Handle Return and Escape keys in dialogue box, triggering the default and cancel buttons respectively. check-in: 4109f8092e user: ben tags: trunk | |
| 10:36 | Fixed the printing and charset combo boxes in Unix PuTTY. (The former by simply removing it; the latter by adding an enumeration function to libcharset.) This has had slight `const' repercussions on cp_name() and cp_enumerate() which might break the Mac build. check-in: 6c4b46bcec user: simon tags: trunk | |
| 10:12 | Unix can't sensibly enumerate printers (since they're defined as being lpr commands), so the Unix config box now replaces the printer combo box with an ordinary edit box. check-in: 7d4d9177e1 user: simon tags: trunk | |
| 10:05 | Ctrl+rightclick now pops up a context menu in Unix PuTTY and pterm. This menu is not yet fully populated, but it has an About box (yet another licence location :-/ ) and supports the new configurable specials menu (thus making Unix PuTTY do one tiny thing which OpenSSH-in-a-pterm can't :-). check-in: b7304dcb60 user: simon tags: trunk | |
| 09:55 | Cope with NULL labels in every control where it makes sense, and assert that all other labels are != NULL. check-in: 8618c63b89 user: ben tags: trunk | |
| 09:08 | Send EVENT_VALCHANGE when a System 7 editbox gets typed in. check-in: d7d2a4203a user: ben tags: trunk | |
| 09:01 | Implement dlg_end(). check-in: 3d5125aebd user: ben tags: trunk | |
| 08:34 | Implement update_special_menu(), which calls mac_adjustmenus() as appropriate. Eventually, mac_adjustmenus() will handle populating the Specials menu. check-in: d34a83dcea user: ben tags: trunk | |
| 08:32 | Add null_get_specials(), for both null and loop backends. check-in: 03b524f1d3 user: ben tags: trunk | |
| 05:52 | ... of course, it would help if I remembered to _document_ dynamic port forwarding. Ahem. check-in: 68bff8db5c user: simon tags: trunk | |
| 05:45 | Dynamic port forwarding by means of a local SOCKS server. Fully supports SOCKS 4, SOCKS 4A and SOCKS 5 (well, actually IPv6 in SOCKS 5 isn't supported, but it'll be no difficulty once I actually get round to it). Thanks to Chas Honton for his `stone soup' patch: I didn't end up actually using any of his code, but it galvanised me into doing it properly myself :-) check-in: 9c2b8c4c52 user: simon tags: trunk | |
|
2003-04-04
| ||
| 14:21 | Turned the old `Telnet Command' System-submenu into a more general `Special Command' menu, in which any backend can place its own list of magical things the user might want to ask the backend to do. In particular I've implemented the recently proposed "break" extension in SSH2 using this mechanism. NB this checkin slightly breaks the Mac build, since it needs to provide at least a stub form of update_specials_menu(). check-in: 53746610b8 user: simon tags: trunk | |
| 05:22 | This script has been unnecessary for some time; since the config box revamp, accelerator clashes have been checked for at run-time. check-in: 05611b4f8b user: jacob tags: trunk | |
|
2003-04-03
| ||
| 17:18 | Implement columns, based loosely on Simon's Windows implementation. Now this actually _looks_ like PuTTY. check-in: 0b67e0dffc user: ben tags: trunk | |
|
2003-04-02
| ||
| 03:20 | Another item for the release checklist: don't forget to save the link maps of the release binaries. check-in: 582f3daf86 user: simon tags: trunk | |
| 03:14 | Further .cvsignore updates. check-in: 8d950dc81d user: simon tags: trunk | |
| 03:14 | Extra bit of pre-release fiddling for the checklist. check-in: 3af0835fab user: simon tags: trunk | |
| 02:44 | Improvements to .cvsignore, to attempt to reduce the huge number of ? lines I see when running `cvs update', which in turn might help deal with my tendency to forget to `cvs add' new files before a big checkin :-) check-in: 6859cb4d59 user: simon tags: trunk | |
|
2003-04-01
| ||
| 12:10 | Various error-handling fixes, mostly in Unix PuTTY but one (failure to save a session) crosses over into the platform-independent side. check-in: 98cf799b26 user: simon tags: trunk | |
|
2003-03-31
| ||
| 07:15 | Make sure the socket is closed properly in the various SSH exit paths. check-in: 951d79cdac user: simon tags: trunk | |
| 06:57 | Trivial segfault fix from Richard B. check-in: ecdb0cdfd6 user: simon tags: trunk | |
| 06:11 | Ahem; update the TODO to reflect the cmdline changes :-) check-in: 9951432bf1 user: simon tags: trunk | |
| 06:10 | Support for PuTTY-style command-line arguments in Unix PuTTY. I think it's now actually usable as a day-to-day SSH client, even if things like the Event Log are still missing. So I call that a decent lunch hour's work :-) check-in: a52454784c user: simon tags: trunk | |
| 06:10 | pterm.c now relies on backend `exitcode' functions returning <0 when the session is still connected, and not returning an exit code until after it's finished. check-in: a2d003020b user: simon tags: trunk | |
| 05:42 | And everyone's favourite cosmetic change: Unix PuTTY now doesn't claim to be pterm in the window title :-) check-in: 3fdcb83acc user: simon tags: trunk | |
| 05:36 | Can now save and load settings under Unix. check-in: f0c65e843f user: simon tags: trunk | |
| 05:22 | Ahem; fix `bombout' so it passes the correct frontend handle to connection_fatal(). check-in: e2d4e935f5 user: simon tags: trunk | |
| 05:22 | Fix a _very_ subtle segfault in my two GTK container classes: the `forall' function has to be prepared for the list of widgets to change along the way if (for example) the callback function destroys its input widget. check-in: c74eba86e2 user: simon tags: trunk | |
| 05:21 | Checkin of last night's work on GTK message boxes. Unix PuTTY now has proper GUI prompts for host keys etc, so it should now be usable without a controlling tty. check-in: 8222ee8773 user: simon tags: trunk | |
|
2003-03-30
| ||
| 08:24 | Correct the size of editboxes under Mac OS 8. check-in: c478abfae1 user: ben tags: trunk | |
|
2003-03-29
| ||
| 18:45 | Crude keyboard support for System 7 editboxes. check-in: 0cc1580126 user: ben tags: trunk | |
| 17:57 | The entropy pool is full of unsigned ints, not longs. check-in: 254a7781a2 user: ben tags: trunk | |
| 17:07 | Move the Mac port over to using snew/snewn/sresize. check-in: fbbea4dbd6 user: ben tags: trunk | |
| 17:05 | In a couple of places, snewn() was being asked for an array of char which was then assigned to an unsigned char * variabe. This fixes that. check-in: 8f705367ec user: ben tags: trunk | |
| 16:04 | Convert the System 7 static text control to be a read-only version of the editbox control. This means that it has a persistent edit record, can have its height measured and uses the system font by default, all of which are good. check-in: 3bf16984de user: ben tags: trunk | |
| 14:16 | Add support for labels on editboxes and radios. check-in: da1b322262 user: ben tags: trunk | |
| 13:52 | Having created and used uxsel, it actually turns out to be practically trivial to put all the pieces together and create a working prototype of Unix PuTTY! It's missing a lot of things - notably GUI request boxes for host keys and logfiles and so forth, the Event Log, mid-session reconfiguration, session loading and saving, sensible population of the character sets drop-down list and probably other fiddly little things too - but it will put up a config box and then create a GUI window containing an SSH connection to the host you specified, so it's _basically_ there. Woo! check-in: c069c8a0c8 user: simon tags: trunk | |
| 12:32 | Add input-focus support for System 7, where the Control Manager can't do it itself. Also clean up Carbon builds. check-in: 8e0fe25d39 user: ben tags: trunk | |
| 12:31 | Add the System 7 editbox CDEF, which I seem to have forgotten. check-in: afc128115e user: ben tags: trunk | |
| 12:30 | pterm now uses the new uxsel module, so it's one step closer to being able to be a PuTTY as well as a pterm. In the process I've also moved icky things like actually reading from the pty fd and printing the `terminated on signal' messages into pty.c where they obviously should have been in the first place. Also there's been one interesting repercussion in the terminal code: terminal.c's from_backend now calls term_out() directly rather than expecting the front end to call it afterwards. This has had the entertaining side effect of fixing a Windows-specific bug whereby activity in a port forwarding through a PuTTY with a blinking cursor caused the cursor to blink to ON (!!!!). So, a surprisingly far-reaching checkin as it turns out... check-in: b384cf23f7 user: simon tags: trunk | |
| 11:07 | I'm sick of having to type (cd ..; perl mkfiles.pl) when I'm working on Unix. So now mkfiles.pl will look in .. as well as . when searching for Recipe, so I can run `perl ../mkfiles.pl' and it will Just Work. check-in: 28a1a156b1 user: simon tags: trunk | |
| 10:47 | Added uxsel.c, into which I've moved those parts of the uxnet.c functionality that deal with selectable fds in general. The idea is that pty.c will stop passing its fd straight to pterm.c and hand it to this module instead, and pterm.c will start requesting a general list of fds from this module rather than expecting a single one from pty.c, with the ultimate aim of pterm.c being able to form the basis of a Unix PuTTY as well as pterm proper. check-in: b740285f7b user: simon tags: trunk | |
| 10:14 | Introduced wrapper macros snew(), snewn() and sresize() for the malloc functions, which automatically cast to the same type they're allocating the size of. Should prevent any future errors involving mallocing the size of the wrong structure type, and will also make life easier if we ever need to turn the PuTTY core code from real C into C++-friendly C. I haven't touched the Mac frontend in this checkin because I couldn't compile or test it. check-in: 48c3c19745 user: simon tags: trunk | |
| 07:54 | Fix off-by-one in selection update while scrolling. Thanks Richard B. check-in: f99ffbf1c3 user: simon tags: trunk | |
|
2003-03-28
| ||
| 19:44 | Update text about ports, hopefully not too controversial. check-in: cf9f64a351 user: owen tags: trunk | |
|
2003-03-27
| ||
| 18:50 | Tidy up dlg_editbox_set() and implemen dlg_editbox_get() for System 7. check-in: 705b6030a3 user: ben tags: trunk | |
| 18:06 | Display half of a System 7 edit text CDEF, using TextEdit directly. This is the easy bit. check-in: 831e5834d4 user: ben tags: trunk | |
| 16:46 | open_settings_r() and open_settings_w() need to cope with a NULL session name. check-in: 7ff9f3f2a8 user: ben tags: trunk | |
|
2003-03-26
| ||
| 18:22 | DECCOLM fix, take 2. It turns out that my last fix wasn't causing crashes, but PuTTY was running out of memory, which is both easy and fatal under Mac OS at present. Having fixed that, I've re-instated the screen-clearing and cursor-homing on DECCOLM, and added resetting the scroll region, since this seems to help VTL's keypad diagram display correctly. check-in: 83aec2d1a3 user: ben tags: trunk | |
| 17:52 | Get preferred and minimum sizes in the right order. check-in: 85c15eca05 user: ben tags: trunk | |
| 17:13 | Revert last change. It seems to cause crashes when DECCOLM actually changes the width of the window. check-in: 50ca48ba13 user: ben tags: trunk | |
| 15:14 | DECCOLM should clear the screen and home the cursor, so it does now. Correct interactions with DECOM and DECSTBM not investigated. Should fix bug "deccolm-cls", but I'll leave it open till I've checked the interactions. check-in: e4cc7a2e89 user: ben tags: trunk | |
|
2003-03-25
| ||
| 17:45 | Rename dlg_listbox_addwithindex() to dlg_listbox_addwithid(), since the old name was, not to put too fine a point on it, wrong. check-in: c15ce8b4f5 user: ben tags: trunk | |
| 17:23 | Use CountMenuItems() rather than CountMItems() since the latter isn't available in Carbon. check-in: c71405a7dc user: ben tags: trunk | |
| 17:18 | Add support for editbox controls on Mac OS 8, and for per-control private data. check-in: ff30bf5a94 user: ben tags: trunk | |
|
2003-03-24
| ||
| 16:46 | Clean out some #ifdef'ed out junk. check-in: b55ca73a8a user: ben tags: trunk | |
| 16:41 | Initialise the "next menu ID" counter for pop-up menus. This stops crashes on Mac OS 8. Also re-do support for activate events so as not to depend on embedding hierarchies, and thus to work on System 7. check-in: 8e5be0656c user: ben tags: trunk | |
| 15:55 | Slightly improve radio button layout to more closely match the Mac OS 8 HI Guidelines. check-in: 102ef083e8 user: ben tags: trunk | |
| 04:49 | The general blurb on using Plink in batch mode ought to mention the host key prompt, and specifically mention how to ensure it won't bite you. check-in: f5f2f8848f user: simon tags: trunk | |
|
2003-03-23
| ||
| 08:11 | Add support for pop-up menus (drop-down lists in Windows parlance). For some reason, these explode horribly with the Appearance Manager present, but work fine in bare System 7. Investigations are ongoing. check-in: 181998972d user: ben tags: trunk | |
|
2003-03-22
| ||
| 11:00 | Various cosmetic fixes to the GTK config box: vertical alignment of edit box labels, Left/Right on the treeview to collapse and expand branches, a window title, and the best treatment of wrapping text widgets I could think of within the product-order-oriented GTK layout model. I think this thing is now pretty much as good as it's going to get before GTK v2 (which should fix one or two remaining minor nasties which I really couldn't be bothered to work around in GTK 1.2), so the next step is to actually start _using_ it. check-in: 8d912eb773 user: simon tags: trunk | |
| 05:07 | The GTK colour selector does not provide full 8-bit resolution in the RGB values (it deals in floats with 2 d.p. instead). Hence I've replaced the static RGB text item in the Colours panel with three little edit boxes, so that a user can type in exact 0-255 RGB values if necessary. This should have the additional advantage of being quicker than faffing with the colour selector if you already know exactly what you want and are in a hurry! check-in: 485f935492 user: simon tags: trunk | |
| 04:36 | Fiddle with the cmdline_saved mechanism: the `-load' option is now never deferred, but is evaluated instantly. This _should_ fix all the irritating problems with (for example) proxy settings and saved sessions not playing nicely. Or it may have some other ghastly side- effect I haven't considered; really I ought to have been keeping better track of all the problems in this area :-( check-in: b68ef18c3a user: simon tags: trunk | |
| 04:05 | Windows file selectors contain an edit box as well as the Browse button; we must send EVENT_VALCHANGE when the edit box is manually changed as well as when the file selector successfully completes. check-in: fceeb8e166 user: simon tags: trunk | |
| 03:49 | Yikes - saving of Default Settings must have been broken for some time! The load code in settings.c was translating an empty string into "Default Settings" to pass to {win,ux}store, whereas the save code was passing the empty string straight down and expecting it to be dealt with. So, a policy decision: the precise name of the "Default Settings" special session _at the storage level_ is up to the individual platform storage code to decide, and all platforms MUST assume Default Settings is meant if they receive NULL or the empty string as a session name. check-in: 62160c0af1 user: simon tags: trunk | |
| 03:32 | Make sure one of the Local/Remote port forwarding radio buttons actually starts off selected! check-in: 0f2a55849f user: simon tags: trunk | |
| 03:22 | Fixed the bug whereby PuTTYgen went into generation mode as soon as it started up. The problem was that I was accepting _any_ event on IDC_GENERATE to trigger this, not just the `clicked' event, and some uninteresting event like `initialise' must have occurred. Quite why this only showed up as a result of the config box revamp I can't imagine. check-in: ebf4491f72 user: simon tags: trunk | |
|
2003-03-20
| ||
| 18:24 | Add crude support for multiple panels in the config dialogue box. There's no way to switch between panels yet, though, so you're stuck on the first one. check-in: a0006bd7ef user: ben tags: trunk | |
| 17:15 | Pass a pointer to the entire dialog box structure to event handlers, rather than just the individual control pointer, because otherwise event handlers can't modify other controls. check-in: ccdc6b6bf8 user: ben tags: trunk | |
| 16:12 | Mention xterm mouse reporting in the section on copy and paste. check-in: 7c288e49db user: ben tags: trunk | |
|
2003-03-18
| ||
| 18:40 | Add support for drawing a ring around the default button in System 7. check-in: 7e74ec2588 user: ben tags: trunk | |
| 17:47 | Add support for changing the contents of a pre-Appearance static text control. check-in: db36367194 user: ben tags: trunk | |
| 17:41 | Tag the "Cancel" button appropriately, in case anyone's using a theme that pays attention to it. check-in: d521896264 user: ben tags: trunk | |
| 13:47 | Better appearance and positioning for dlg_error_msg box, and also I've just found out that it's easy to ask for the config box to be centred on the screen by default, which is kinda cool. check-in: 94e43dea51 user: simon tags: trunk | |
| 13:12 | Change the token for HTTP Basic Authentication from "basic" to "Basic". According to RFC 2617, it should be case-insensitive, but some proxies (Microsoft Proxy Server in particular) erroneously reject "basic". Should fix semi-bug msproxy-denied. check-in: 13456a37ff user: ben tags: trunk | |
| 13:06 | Big sprawling dialog-box commit covering all sorts of things. Buttons now have an `iscancel' flag to go with `isdefault'; dlg_last_focused() now explicitly passes the control it _doesn't_ care about (`I want the last control that had focus and isn't this one'); and in the GTK implementation, various fixes have happened, notably including arrow keys working sensibly in list boxes and the treeview and short font aliases being expanded correctly to initialise the font selectors. check-in: 6f4a286473 user: simon tags: trunk | |
| 03:03 | Gah, another duplicate keyword. I must stop creating new docs sections by cut and paste. check-in: 42ec2ce004 user: simon tags: trunk | |
|
2003-03-17
| ||
| 18:35 | My First CDEF: A terribly trivial static text control for System 7. Needs work. check-in: 4af8995353 user: ben tags: trunk | |
| 16:38 | Insert a missing ampersand that meant that the last version didn't even compile. check-in: d5f36308d8 user: ben tags: trunk | |
| 15:40 | Partial implementation of the platform-independent dialogue-box interface for the Mac OS. This isn't anywhere near complete, and is wrong in a few important regards, but I think it's heading in the right direction. check-in: a32dd078ae user: ben tags: trunk | |
| 15:36 | If I() and S() aren't inline, provide a prototype even if we're defining them. This is useful for compilers that warn about un-prototyped functions. check-in: 04aa552384 user: ben tags: trunk | |
| 13:00 | When running on a system with Aqua menu layout, delete the separator line above "Quit" as well as "Quit" itself. check-in: 91ba490637 user: ben tags: trunk | |
| 10:57 | Error messages update. It's now abundantly clear that WSAECONNABORTED is not the same thing as ECONNABORTED, so I've removed the `we're a bit confused about this, send us details' text. And someone has just been confused by `connection timed out', so I've added that too. check-in: f673042f10 user: simon tags: trunk | |
|
2003-03-16
| ||
| 14:18 | typo check-in: 299ae4bf30 user: jacob tags: trunk | |
| 07:28 | RSA blinding requires random numbers. Hence, Pageant now needs to have the random number generator linked in. check-in: 3eb890bc10 user: simon tags: trunk | |
| 06:37 | Further work on the GTK config box; mostly implemented keyboard shortcuts now (only treeviews and list boxes to go, which currently do very weird things and I need to overhaul them completely). check-in: 4d48e2127e user: simon tags: trunk | |
| 06:36 | Fixed accelerator clash in the Unix-specific config, since gtkdlg.c is now competent to detect them :-) check-in: 467805db99 user: simon tags: trunk | |
|
2003-03-15
| ||
| 12:39 | My comment about RSA blinding was talking slight tosh. Fixed in case anyone ever actually reads it :-) check-in: ea40516592 user: simon tags: trunk | |
| 11:51 | Implement RSA blinding, to defeat Brumley and Boneh's RSA timing attacks. In the PuTTY suite I'm pretty sure they're only applicable to a forwarded Pageant, and if your remote sysadmin is abusing your Pageant then you're shafted _anyway_; but it can't hurt to take precautions now, just in case things change in future. check-in: 3b2ef734f7 user: simon tags: trunk | |
| 09:56 | When a piece of text overflows its column in a tabbed list box, I think on balance I rather like the natural behaviour of the way I've done it, except that non-zero separation between the columns would be even nicer. Accordingly, here is some. check-in: dbf66c8765 user: simon tags: trunk | |
| 09:55 | The Telnet ENVIRON configurer also had a list box with an implicit tab stop. Fixed this one too. check-in: c8e40927a6 user: simon tags: trunk | |
| 09:50 | Event handling in the GTK dialog engine is now basically present and correct. All the callbacks are getting called, all the dialog actions are working (the port forwarding, colour and charclass configurers are all completely functional), file, font and colour selectors happen, and it's all looking pretty cool. check-in: 143bc8df10 user: simon tags: trunk | |
| 09:49 | Windows sets automatic tabs in list boxes, but GTK doesn't, so we should make the tab stop in the forwarded-ports list explicit. check-in: 7fbaff51e9 user: simon tags: trunk | |
| 03:42 | Missed a couple of the Unix-specific settings out of settings.c. One of these days I'll have to separate the platform-specific settings out into winsett and uxsett modules, but for now it's not too urgent. check-in: 4ece626eed user: simon tags: trunk | |
|
2003-03-14
| ||
| 15:20 | While I'm adding explanatory comments by the coroutine macros, it occurs to me that would also be a good place to put a copy of the instructions for disabling Edit and Continue debugging. Nobody _actually_ reads the README, after all... check-in: 1838c429d8 user: simon tags: trunk | |
| 15:18 | The divisor in the bell timing boxes should be TICKSPERSEC, not 1000. check-in: f996ba3460 user: simon tags: trunk | |
| 12:35 | Continuing work on the GTK config box. Created uxcfg.c for the Unix-specific config items; moved a stray Windows-specific config item (scrollbar-in-fullscreen) out into wincfg.c to stop it appearing on Unix; continued updates to gtkdlg.c. I now believe the GTK config box looks basically correct (modulo minor cosmetic issues and keyboard accelerators). Next step, add the event handling so it's actually functional. check-in: 65b0f014dd user: simon tags: trunk | |
|
2003-03-13
| ||
| 13:52 | First stab at a GTK layout engine. It's missing all sorts of stuff (list boxes are particularly conspicuously absent), it has no event handling at all, and it isn't in any way integrated into pterm - you have to build it specially using the test stubs in gtkdlg.c. But what there is so far seems to work plausibly well, so it's a start. Rather than browbeat the existing GTK container/layout widgets into doing what I wanted, I decided to implement two subclasses of GtkContainer myself, which implement precisely the layout model assumed by the config box specification; this has the rather cool consequence that the box can be resized and will maintain the same layout at all times that it would have had if initially created at that size. check-in: 0a548b8a35 user: simon tags: trunk | |
|
2003-03-11
| ||
| 16:35 | Increase PuTTY's default partition size to 2 MB. 1 MB just isn't enough. check-in: 9393fb8b0d user: ben tags: trunk | |
| 03:30 | Never pass a `char' to a ctype function. I had relied on gcc -Wall letting me know about instances of this, but it turns out that my ctype.h explicitly casts input values to `int' to evade the `subscript has type char' warning, so it had been carefully not letting me know! Found them all by compiling with a doctored ctype.h, and hopefully fixed them all too. check-in: 4b43abe87a user: simon tags: trunk | |
|
2003-03-08
| ||
| 05:46 | Add the ability to allocate extra per-dialog-instance private data in the portable dialog interface. This has allowed me to remove `ssd->savedsession' in config.c, which was (I believe) the only out-of-place piece of per-instance data in the dialog template stuff. Now we should actually be able to run more than one config box in the same process at the same time (for platforms that'll find that useful). check-in: 2d957c80e0 user: simon tags: trunk | |
|
2003-03-07
| ||
| 12:18 | Richard B's patch for resize behaviour. The scrollback now contains a marker which defines everything before it as `permanent' scrollback and everything after it as `temporary'; only temporary scrollback lines are returned to the main screen when the window height is increased. Screen clears mark the lines pushed into the scrollback as permanent; so lines explicitly cleared off the screen by ESC[2J are never returned to it by mistake. This patch also fixes the incorrect state the primary screen is left in when the window is resized while the alternate screen is active. check-in: c0114029ba user: simon tags: trunk | |
| 03:03 | Overnight docs build found a duplicate section keyword. Oops. Fixed. check-in: 3349adcd9e user: simon tags: trunk | |
|
2003-03-06
| ||
| 17:46 | Alert box to support host-key checking. check-in: f6cbe5c08f user: ben tags: trunk | |
| 17:44 | Slightly better than null verify_ssh_host_key(). It's broken in more ways than I can comfortably enumerate (see the comments in the code), but it's better than always assuming everything's OK. check-in: aa9c268756 user: ben tags: trunk | |
| 13:20 | Just for Jacob, the ciphers drag list is now six lines high instead of five, so that the scroll bar doesn't show up when it's active. check-in: 18b7bd8bf0 user: simon tags: trunk | |
| 13:18 | Got a bit of a better handle on the whole GDI `logical units' mess, and sorted out the static-control text wrapping rather better. Now it works under both large fonts and small fonts on Win2K, so I have high hopes that it's actually correct this time. check-in: f627d2480a user: simon tags: trunk | |
| 12:49 | Fix a couple of stupid typos in the session-saving code. check-in: d9c07e5805 user: simon tags: trunk | |
| 07:25 | Jacob points out that TS_EOL is broken in BINARY mode. check-in: c37f9b08b3 user: simon tags: trunk | |
| 07:24 | Reorganisation of misc.c: Minefield has moved out to winmisc.c, and so has the Windows dputs() - which has also acquired a Unix counterpart in uxmisc.c. -DDEBUG should now work on Unix. check-in: dca52225ef user: simon tags: trunk | |
| 06:58 | Oops, another missing forward-struct-declaration. check-in: d98f19e4da user: simon tags: trunk | |
| 06:57 | Richard B's patch to add WINDOWID support to pterm. check-in: 5bae12ff10 user: simon tags: trunk | |
| 06:52 | Repair the delete-saved-session button (trivial braino). check-in: ba3a52afd9 user: simon tags: trunk | |
| 06:51 | Richard B's patch to push erased text into the scrollback on ESC[2J clears, and also to temporarily push the primary screen contents into the scrollback while the alternate screen is active and bring it back afterwards. check-in: 99255f9ef7 user: simon tags: trunk | |
| 06:41 | As usual, gcc is better at warnings than MSVC, so here are some pedantic fiddlings with the new config-box stuff to cure some. check-in: 73136e7d3a user: simon tags: trunk | |
|
2003-03-05
| ||
| 16:07 | The long-awaited config box revamp! I've taken the whole config box to pieces, and put it back together in a new table-driven form. config.c sets up a data structure describing most of the config box; wincfg.c adds in the Windows-specific options (so that config.c can also form the basis for Mac and Unix config boxes). Then winctrls.c contains a shiny new layout engine which consumes that data structure, and windlg.c passes all WM_COMMAND and similar messages to a driver alongside that layout engine. In the process I've sorted out nicer-looking panel titles and finally fixed the list-boxes-are- never-the-right-size bug (turned out to be Windows's fault, of course). I _believe_ it should do everything the old config box did, including context help. Now everyone has to test it thoroughly... check-in: 623bf020eb user: simon tags: trunk | |
|
2003-03-04
| ||
| 08:14 | Add 'what does "PuTTY" mean?', and add some IPA to the shortened pronunciation answer. check-in: 7130221d8f user: ben tags: trunk | |
|
2003-03-03
| ||
| 10:35 | I've been meaning to get round to this for _ages_: in front of my coroutine macros, I now include a comment linking to my web article that explains what they do. check-in: d1fbd328fa user: simon tags: trunk | |
|
2003-03-01
| ||
| 09:12 | Improve scheduling on the Mac: 1: Only update the screen when there's nothing else to do. This means that it's a lot harder for a fast typist to outrun PuTTY. 2: Only sleep for at most 100ms at a time. This is a kludge to work around the WakeUpProcess caused by incoming data can happen before the WaitNextEvent it's meant to interrupt, leading to PuTTY sleeping forever because it doesn't know there's network data pending. check-in: bdadee3661 user: ben tags: trunk | |
|
2003-02-28
| ||
| 14:28 | In merging the username and password input functions I inadvertently removed the support for control characters in passwords. Replaced. check-in: 9c58e8f454 user: simon tags: trunk | |
|
2003-02-27
| ||
| 17:34 | Handle the Aqua menu layout, in which the system provides a "quit" option for us, correctly. check-in: db8bd30825 user: ben tags: trunk | |
| 17:21 | Add 'plst' 0 resources to help Mac OS X do magic things. These aren't actually compiled yet because they must only be present in the Carbon build, and I don't currently compile the resources separately for each platform. check-in: 1083ee600a user: ben tags: trunk | |
|
2003-02-24
| ||
| 16:39 | Add some parentheses for general robustness. (In particular I just tried to run mkfiles.pl on Perl 5.005_03 and it didn't work without them.) check-in: 9f567ffd5b user: simon tags: trunk | |
|
2003-02-23
| ||
| 07:42 | Set the executable fragment name (in CFM builds) to the name of the target pgram, rather than to "PuTTY" unconditionally. check-in: 46aafdd33e user: ben tags: trunk | |
| 07:34 | I think the Carbon build now works well enough to be worth turning on by default. It's not particularly useful, but it runs. check-in: 0a3937f543 user: ben tags: trunk | |
| 07:31 | Handle suspend and resume events in PuTTYgen as well. check-in: ec008baf3e user: ben tags: trunk | |
| 07:00 | Don't open the event log whenever an event is logged; instead handle the "Show Event Log" menu entry sensibly. Similarly, make it possible to close (hide) the event log. check-in: 5bac4b191f user: ben tags: trunk | |
| 06:41 | Scroll the event log to the end after adding a line if it was looking at the end before the line was added. check-in: 29a6054ba8 user: ben tags: trunk | |
| 05:58 | Add handling for suspend and resume events, and set the flags in our 'SIZE' resource that say we can handle them. This seems to avoid a crash when PuTTY's switched away from, and is necessary for Carbon anyway. check-in: 91edf3684b user: ben tags: trunk | |
|
2003-02-22
| ||
| 18:13 | Work around an SC bug that causes it to try to use the same register for two purposes in s_wrpkt_prepare(). This makes SSH1 work on 68K Macs, at least until I deactivate the terminal window... check-in: 0d1b151319 user: ben tags: trunk | |
|
2003-02-20
| ||
| 16:55 | Add a mechanism for collecting entropy, and displaying how much we've got, based on the Windows version. We don't _do_ anything with the entropy yet, though. check-in: b883ba310b user: ben tags: trunk | |
| 16:31 | Be careful not to try to get information from windows we don't own, or that don't exist at all. Also a small PuTTYgen change that I can't be bothered to filter out of this commit. check-in: 9be131f6eb user: ben tags: trunk | |
| 16:22 | Change some of the blocks of cut&pasted code into loops. check-in: 46a384efb2 user: ben tags: trunk | |
|
2003-02-19
| ||
| 18:40 | Ask for traceback tables in PowerPC objects, since that should make tracking down crashes easier. check-in: cff55ca115 user: ben tags: trunk | |
| 03:54 | Fix documentation for `ssh2-keyderive-nonbug'. check-in: 283ad53c20 user: jacob tags: trunk | |
|
2003-02-18
| ||
| 19:03 | Make this compile in Carbon. check-in: f6ac137ffc user: ben tags: trunk | |
| 14:10 | Fix `ssh2.0.11-keyderive-nonbug' on the strength of Ben's analysis. Not tested it myself. check-in: dbeef9d5a7 user: jacob tags: trunk | |
|
2003-02-16
| ||
| 08:27 | Bring PuTTYgen into the world of object-oriented event handling. Also add a non-functional "generate" button the the key window. check-in: e6bbdcb84a user: ben tags: trunk | |
| 07:44 | Make it possible to close the "about" and "licence" boxes again. check-in: 335f1c4fe0 user: ben tags: trunk | |
| 07:03 | Actually use macabout.c. check-in: a503aefc1e user: ben tags: trunk | |
| 07:03 | Stub code for handling key windows in PuTTYgen. This file will eventually include all the stuff that does actual work in PuTTYgen. check-in: e281e92371 user: ben tags: trunk | |
|
2003-02-15
| ||
| 12:47 | faq-support: Modified text to reflect the fact that the wishlist now shows bugs fixed recently (FSVO "recently"). Hopefully I haven't made it too confusing. check-in: c16ad421d2 user: jacob tags: trunk | |
| 10:22 | Rather than increasing the size of my switch statements yet further, have a bunch of function pointers associated with each window to do things like updates and click handling. This is all looking disturbingly object-oriented. . While I'm here, separate out the about box into its own file, shared by PuTTY and PuTTYgen. check-in: 3881d906eb user: ben tags: trunk | |
| 08:20 | Tiny amount of infrastructure for having actual keys in PuTTYgen. check-in: 334a2cd854 user: ben tags: trunk | |
| 08:20 | <OpenTransportInternet.h> seems to want <Files.h>. Silly thing. check-in: 1796652c7a user: ben tags: trunk | |
| 07:29 | Make various internal functions static. check-in: 25f6932e4b user: ben tags: trunk | |
|
2003-02-13
| ||
| 06:30 | Move the 'vers' resources for Mac OS into their own file, to be shared by the various applications. check-in: c03457d522 user: ben tags: trunk | |
|
2003-02-12
| ||
| 17:53 | Minimal shell of PuTTYgen for Mac. No actual PuTTYgen-specific code there yet, but an absence of PuTTY-specific code. check-in: a890ccb51e user: ben tags: trunk | |
| 17:21 | Deal with a "possible extraneous ';'" warning. check-in: e05da039a2 user: ben tags: trunk | |
| 17:06 | Convert implicit (char *) and (unsigned char *) casts to explicit ones. check-in: 864590f66f user: ben tags: trunk | |
| 13:49 | Update list of Telnet options to match what IANA currently have. check-in: 1686892274 user: ben tags: trunk | |
|
2003-02-11
| ||
| 17:10 | Clip host resize requests to the size of the desktop. check-in: 681fb05042 user: ben tags: trunk | |
| 08:10 | Remove another `please pester ssh.com for their agent protocol' bit. check-in: 51a454e99b user: simon tags: trunk | |
|
2003-02-10
| ||
| 17:49 | The event log is implemented; remove it from the list. check-in: 431ec73eb4 user: ben tags: trunk | |
|
2003-02-07
| ||
| 08:22 | Set some parent windows on PuTTYgen and Pageant About/Licence dialog to improve window management behaviour. check-in: f39872d5a5 user: jacob tags: trunk | |
| 07:54 | Give PuTTYgen an icon. check-in: aa0351520d user: jacob tags: trunk | |
|
2003-02-06
| ||
| 19:38 | Crude Event Log implementation for the Mac. I'm fairly convinced now that using the List Manager was entirely the wrong decision on my part, so I'll probably rewrite this to use TextEdit at some point, but it's better than stderr even so. check-in: e21e4e9b77 user: ben tags: trunk | |
| 19:33 | Clean up Carbon build procedures somewhat. I still don't have anything that actually works, but I think I'm getting closer. check-in: fc6c6cc4b7 user: ben tags: trunk | |
|
2003-02-05
| ||
| 19:01 | Move net_service_lookup() to macnet.c, since that's where it belongs. check-in: e45155e93a user: ben tags: trunk | |
| 03:05 | Oops; overzealous copy-and-paste in the Windows Help context names. check-in: 2af0236d59 user: simon tags: trunk | |
|
2003-02-04
| ||
| 17:39 | Add a level of indirection to make it rather easier to work out which of a session's windows we're dealing with. check-in: 917edfac77 user: ben tags: trunk | |
| 07:02 | Add another bug workaround, this one for old OpenSSH (<2.3) servers which have a strange idea of what data should be signed in a PK auth request. This actually got in my way while doing serious things at work! :-) check-in: 2a3598e202 user: simon tags: trunk | |
| 07:00 | Further fallout from the introduction of the Filename type. (Memo to self: if you change the type of a variable and everything compiles without type-checking errors, that doesn't mean it's all fixed, because variadic functions aren't type-checked! Oops.) check-in: c83f62d857 user: simon tags: trunk | |
|
2003-02-03
| ||
| 20:15 | If we're compiling for Carbon, define OTCARBONAPPLICATION so that we get the simplified (and backward-compatible) application-only interfaces. check-in: 75b5d27dc6 user: ben tags: trunk | |
| 20:10 | Carbonise, or at least disable MacTCP support under Carbon. check-in: 3fba36369a user: ben tags: trunk | |
| 20:08 | I can only quote the comment in <Scrap.h> which prompted this commit: /* Newsflash! After 15 years of arduous toil, it's finally possible for specially trained typists wielding advanced text editing technology to define symbolic names for commonly used scrap flavor type constants! Apple triumphs again! */ check-in: 90f6d5ad0c user: ben tags: trunk | |
| 20:03 | Fix various breakages my Carbonisation caused in the Classic build, notably that outside Carbon, CGrafPtr and GrafPtr are different types, even though they're mostly interchangeable, so we need to interpose a cast between GetWindowPort and SetPort. check-in: 68798e3793 user: ben tags: trunk | |
| 19:53 | Carbonise. Currently, size tips and copy/paste won't work in Carbon. check-in: deae33d0a3 user: ben tags: trunk | |
| 18:33 | Slightly improve Carbon handling: we still have to deal with the "About..." menu entry, even if the rest of the Apple Menu is done for us. check-in: 169a600cd3 user: ben tags: trunk | |
| 18:01 | Convert keyboard events into Unicode properly. I can now type all manner of interesting characters and have them work properly. check-in: d405e5ebd9 user: ben tags: trunk | |
|
2003-02-02
| ||
| 10:02 | Update to match reality. check-in: a3c46c5adf user: ben tags: trunk | |
| 09:59 | Add support for using Navigation Services to open saved sessions. Support for saving sessions using Navigation Services will come later. check-in: f09cdf55a5 user: ben tags: trunk | |
|
2003-02-01
| ||
| 18:04 | Carbonise, mostly by replacing addresource() with c2pstrcpy() and AddResource(), and similar. check-in: 2ca911cb03 user: ben tags: trunk | |
| 17:55 | Carbonise. Until we support Navigation Services, loading and saving sessions is tricky. check-in: cc9ee8dc5a user: ben tags: trunk | |
| 17:42 | Make this compile in a Carbon world (while still supporting everything else). check-in: 274e973054 user: ben tags: trunk | |
| 16:20 | Add some glue to allow building a Carbon version of PuTTY. It won't work, but it's nice to have the infrastructure in place. check-in: 867797dc22 user: ben tags: trunk | |
| 15:44 | Rather more natural (if much more complex) Mac Filename implementation. Filenames are represented as a FSSpec, which is converted to and from an alias record ('alis' resource) when saving and loading sessions. . It might be an idea to allow in-core Filenames to contain alias records too, so that they can refer to directories that don't exist on the current system, but that requires Filenames to be dynamically allocated, which is likely to be a pain. check-in: ef3dcf4a08 user: ben tags: trunk | |
| 15:39 | In xlatlognam(), use the start of the destination buffer as the destination filename, not the end. check-in: 497d4a8ca8 user: ben tags: trunk | |
| 11:25 | Initialise a variable that might otherwise have caused trouble. Thanks to Ross Younger. check-in: fdbeff0d7d user: simon tags: trunk | |
| 11:24 | Oops, Ben is quite right about the rather appalling design of filename_from_str. Here's a better fix, with some const repercussions too. check-in: f8d33b50cd user: simon tags: trunk | |
| 09:44 | Tidy up Simon's FontSpec abstraction. Also, make fontspec_to_str not return the address of an automatic variable. It now has a memory leak instead. check-in: 19ff369be2 user: ben tags: trunk | |
| 09:42 | Make save_scroll() static. check-in: d6ad9400b3 user: ben tags: trunk | |
| 06:54 | Created new data types `Filename' and `FontSpec', intended to be opaque to all platform-independent modules and only handled within per-platform code. `Filename' is there because the Mac has a magic way to store filenames (though currently this checkin doesn't support it!); `FontSpec' is there so that all the auxiliary stuff such as font height and charset and so on which is needed under Windows but not Unix can be kept where it belongs, and so that I can have a hope in hell of dealing with a font chooser in the forthcoming cross-platform config box code, and best of all it gets the horrid font height wart out of settings.c and into the Windows code where it should be. The Mac part of this checkin is a bunch of random guesses which will probably not quite compile, but which look roughly right to me. Sorry if I screwed it up, Ben :-) check-in: 497dc397e7 user: simon tags: trunk | |
| 06:28 | Fix the gcc warnings in this module (since we now seem to be building -Werror under Unix this is quite important!). check-in: f2f4ab7ddd user: simon tags: trunk | |
| 06:26 | Richard's lazy-scrolling patch. This builds up scroll operations in a list, combining adjacent ones for the same region, and runs them all in do_paint. I'm not sure it's entirely right, but it works on my Mac in every case I've tested. check-in: 6144d2df4f user: ben tags: trunk | |
|
2003-01-31
| ||
| 20:09 | Misc tweaks to proxy section check-in: 59e9cf9831 user: jacob tags: trunk | |
| 18:29 | Be slightly less negative about other people's setting up PuTTY-related fora. check-in: 14c4261726 user: ben tags: trunk | |
| 17:18 | Mention the slightly odd "too many authentication attempts" message you get from OpenSSH if you overfill Pageant. check-in: 9c12e6ca96 user: ben tags: trunk | |
|
2003-01-30
| ||
| 17:11 | Small amount of extra noise gathering -- slurp the process list in noise_get_heavy(). check-in: a7e2dbcbf1 user: ben tags: trunk | |
| 07:39 | Yet more fallout from the 16-colour changes. I think by this time these fiddly little changes are no longer bugs I introduced recently, they're bugs that have been around all along and I've only just smoked out by altering the ATTR_* definitions. check-in: 433f96b155 user: simon tags: trunk | |
| 04:19 | Antonin Brothanek points out that `Incoming packet was garbled on decryption' could be a result of the wrong setting of the `Miscomputes SSH2 encryption keys' bug workaround option. check-in: 3ed7da1881 user: simon tags: trunk | |
|
2003-01-29
| ||
| 10:39 | Further cosmetic tweaks to file-selection boxes per observed conventions on Windows: - Change "AllFiles" to "All Files (*.*)" - Extensions in lower case check-in: e7864be8f8 user: jacob tags: trunk | |
|
2003-01-28
| ||
| 06:06 | And another bit missing from the settings changes: pterm's platform default for CloseOnExit was encoded wrongly. Hopefully this should be everything now; I'm really starting to get sick of picking up the pieces after my two checkins yesterday. Perhaps I should have waited until I had a brain before doing them in the first place. check-in: d0361ae286 user: simon tags: trunk | |
| 06:05 | Gaah, another missing bit from the 16-colour support: Ben points out an out-of-date comment in putty.h. check-in: 28c32b2994 user: simon tags: trunk | |
| 05:57 | Neither do we do non-block cursors. check-in: 0409b0a9d7 user: ben tags: trunk | |
| 05:56 | We don't do blinking text/cursor yet. check-in: 8be89f7bf2 user: ben tags: trunk | |
| 03:30 | Ahem, and restore the missing & from that checkin. Arrgh. check-in: 7924f05930 user: simon tags: trunk | |
| 03:26 | Oh, _that's_ why that `if' had the sense it did. Good grief. Apparently I used to rely on the fact that the same `erase_char' used to wipe parts of the screen was also a good value to use for resetting line attributes. Should now be more robust against future reorganisations of the ATTR_* bit fields. check-in: 1bc37a873d user: simon tags: trunk | |
|
2003-01-27
| ||
| 18:35 | Don't log every keypress by default here either. check-in: 7459fe2b61 user: ben tags: trunk | |
| 18:25 | Fix a minor oversight in the new 16-colour code for the Mac, which was calculating the background colour wrongly. check-in: 4dd716d5d5 user: ben tags: trunk | |
| 18:17 | Security fascists might claim that logging every keypress to stderr is a bad idea, so stop doing that (only in the Mac port, so not actually much of a problem). check-in: a466b7e46b user: ben tags: trunk | |
| 17:46 | Add myself to the list of copyright holders, largely for term_key(). check-in: 8c416fc67d user: ben tags: trunk | |
| 17:18 | Of course, that cleanup I did earlier in which I rationalised all the various `yes/no/maybe' enums into one common one missed a vital point: all those enums mapped on to integers in different ways, which affected the format of stored settings. Arrgh. So now settings.c contains yet more painful warts and I'm _really_ starting to think it's about time we designed a new set of human-usable config keywords and retired this lot to the status of Unpleasant Backwards-Compatibility Relic. check-in: a31fb10880 user: simon tags: trunk | |
| 17:03 | xterm apparently supports ESC[90m through ESC[97m to set bright foreground colours, and ESC[100m through ESC[107m to set bright background colours. Hence, so do we. Bright-foreground is distinguishable from bold, and bright-background distinguishable from blink, when it leaves terminal.c; the front end may then choose to display them in the same way if it's configured to do so. This change makes the xterm backend for Turbo Vision (!!!) work properly. Untested on Mac. check-in: a7834c6a71 user: simon tags: trunk | |
| 12:02 | Remove all `enum'-typed variables from the Config structure. Everything in there which is integral is now an actual int, which means my forthcoming revamp of the config box will be able to work with `int *' pointers without fear of doom. check-in: b7a1f42e84 user: simon tags: trunk | |
| 09:44 | Blinking text was broken on pterm. This should fix it. check-in: 41143d93f5 user: simon tags: trunk | |
|
2003-01-26
| ||
| 18:39 | First attempt at a platform-independent keyboard handler. This isn't complete yet -- there's no Alt+keypad support, and no way for the front-end to find out what it should do with the Num Lock light. It's also not fully tested. Nonetheless, it's at least as good as the previous Mac keyboard handler. Other platforms probably shouldn't adopt it just yet. check-in: 78d8025c59 user: ben tags: trunk | |
| 18:33 | Remove some fossils. check-in: d967df13b1 user: ben tags: trunk | |
|
2003-01-25
| ||
| 13:23 | Support for pasting 'TEXT', ie text in the local character set. At the moment, we assume it's in the system script -- later we should check for 'styl' scrap in case it isn't. check-in: 24d30e0b77 user: ben tags: trunk | |
| 13:21 | Don't pass NULL to strcmp. Instead, if the user passes a font of NULL, only match table entries where the font is NULL. check-in: 037cf15232 user: ben tags: trunk | |
| 11:20 | Add support for copying non-Unicode text to the clipboard. We also send a simple 'styl' record along with it to specify the font and suchlike. I'm not sure it's worth making this optional in the way the RTF is in Windows. check-in: c32aaaea83 user: ben tags: trunk | |
| 10:23 | Fix Unix breakage from term_mouse() revamp too. check-in: e2ba46c004 user: simon tags: trunk | |
| 10:22 | Fix minor breakage on Windows as a result of term_mouse revamp. check-in: 152c010761 user: simon tags: trunk | |
| 10:16 | Change the term_mouse interface a little so that it gets passed both the raw and the cooked mouse button, with the mapping being done in advance by the front-end. This is useful because it allows the front-end to use information other than the raw button (e.g. the modifier state) to decide which cooked button to generate. . Front ends other than the Mac one are untested, but they just call translate_button() themselves and pass the result to term_mouse(). check-in: b60ae0056c user: ben tags: trunk | |
| 09:21 | The PowerPC build works on Owen's Mac, which doesn't have AppearanceLib, so that bug's definitely fixed. check-in: 712882f429 user: ben tags: trunk | |
| 09:18 | Duplicate Session is done. check-in: 131cbe6764 user: ben tags: trunk | |
| 09:15 | Add support for "Duplicate Session", moving back-end selection into mac_startsession() in the process. check-in: d09a3393de user: ben tags: trunk | |
| 08:09 | Ensure that development snapshots have a version number higher than the preceding release. check-in: ad208882de user: ben tags: trunk | |
| 08:07 | We now have _some_ useful AE support, so mention what's missing specifically. Also mentio lack of Duplicate Session. check-in: bce1cbfaeb user: ben tags: trunk | |
| 08:04 | AEGetNthPtr() is stupid and counts from 1. Allowing for this gets aevt/odoc working. check-in: cf472a08fb user: ben tags: trunk | |
|
2003-01-24
| ||
| 08:12 | Change website refs from putty/wishlist.html to putty/wishlist/ check-in: 18b7538040 user: jacob tags: trunk | |
|
2003-01-23
| ||
| 18:37 | We'd like full-screen mode too. check-in: d5cc84034d user: ben tags: trunk | |
| 18:28 | Add a bug and a missing feature. check-in: 9b3d649e18 user: ben tags: trunk | |
| 18:25 | Redesign the macnet.c infrastructure, largely so as to avoid using Gestalt(), which didn't detect the MacTCP emulation in Owen's Open Transport. check-in: e984a17713 user: ben tags: trunk | |
| 16:57 | Add Apple Event handlers for 'aevt'/'oapp', 'aevt'/'odoc' and 'aevt'/'pdoc'. None of them does anything useful yet (though the odoc one tries to). check-in: f1ab1bab49 user: ben tags: trunk | |
| 11:01 | Add {Question} to faq-psftp-slow check-in: 35f5c62479 user: jacob tags: trunk | |
| 06:30 | Mention Ctrl-PgUp/PgDn check-in: 1165483f25 user: jacob tags: trunk | |
| 05:37 | In pursuance of `icon-title-default-change': Change the sense of cfg.win_name_always' representation in the UI (from `Avoid ever using icon title' to `Separate window and icon titles'). Also update the docs to match reality. check-in: 2ca630032f user: jacob tags: trunk | |
|
2003-01-22
| ||
| 14:22 | Next instalment of the Great Incompatible Defaults Change: `avoid ever using icon title' now defaults to On, because in general it seems to cause more problems than it solves. check-in: 3e1a10c37a user: simon tags: trunk | |
|
2003-01-21
| ||
| 15:05 | accel.pl knows about the accelerators added by winctrls.c:prefslist(). (I'm amazed this still works...) check-in: 1a775309b2 user: jacob tags: trunk | |
| 13:18 | Fix "-v" in the Windows console utilities (plink, pscp, psftp). I'm not convinced I've done this the right way (I've introduced a static for logctx in console.c) but it will do for now. check-in: de3e01d206 user: jacob tags: trunk | |
|
2003-01-20
| ||
| 18:28 | We'll need the event log to work, too. check-in: bba6b378b1 user: ben tags: trunk | |
| 18:27 | Remove stray debugging printfs. check-in: 9acbdd2713 user: ben tags: trunk | |
| 16:55 | More unimplemented features. check-in: ad8e50ca15 user: ben tags: trunk | |
| 16:55 | Add minimal Apple Event support -- we handle the 'aevt'/'quit' event. check-in: f7f6836f13 user: ben tags: trunk | |
| 14:15 | Enable -Werror in GTK builds (we already have -Wall, so more GCCisms aren't _that_ evil). check-in: 023d9c2fdc user: ben tags: trunk | |
| 14:10 | Add a stub "free" routine for pterm. Thanks to rjk. check-in: 25b133ff45 user: ben tags: trunk | |
| 12:05 | Run through contrib/accel.pl 1.1 [r1585]: - Fix accelerator clash on SSH panel (D) - Fix accelerator comments check-in: 8ce8de0236 user: jacob tags: trunk | |
|
2003-01-19
| ||
| 19:07 | Sync with reality and add more things that need fixing. check-in: 9c97f21650 user: ben tags: trunk | |
|
2003-01-18
| ||
| 18:00 | unitab_xterm is now basically right. SC's optimiser seems to do something nasty to ssh.c. check-in: eb5ef02032 user: ben tags: trunk | |
| 17:26 | Use the correct ProcInfo for AddrToStr. This makes the MacTCP code work in PowerPC builds. Well, makes it not crash, anyway -- AddrToStr doesn't seem to be returning amything very useful. check-in: 3b7e6ec09e user: ben tags: trunk | |
| 16:02 | Remove stray debugging code that got in with the last commit. check-in: 454cf38c50 user: ben tags: trunk | |
| 15:56 | Clear kex_ctx in a new session so we can safely free an ssh session without one. check-in: 72ba35c7bb user: ben tags: trunk | |
| 14:52 | Remember which file a session was opened from, so it can be the default one to save back to. check-in: 171fe191f0 user: ben tags: trunk | |
| 14:09 | Support for saving sessions on the Mac. This is slightly useful even in the absence of a config dialogue, since it allows me to get Default Settings out. check-in: 00d16a81fe user: ben tags: trunk | |
| 11:24 | PuTTY doesn't remember which file it got a saved session from, so it's as stationery-pad-aware as it needs to be. check-in: 9f77d4b00e user: ben tags: trunk | |
| 11:14 | Add "Save" and "Save As..." items to the menus. No code behind them yet. check-in: 4d7cb8947c user: ben tags: trunk | |
| 10:54 | Move mac_opensession() from macterm.c to macdlg.c. check-in: 80b515afb7 user: ben tags: trunk | |
| 10:10 | Various things to make the Finder like us: - Change the creator of files we don't want the user to open to 'pTTI' (for "PuTTY internal"), and give them application-missing strings. - Provide missing-application names for saved sessions. - Provide a ResEdit 'TMPL' resource for integers in saved sessions. - Provide an icon for saved session stationery pads (maybe "Default Settings" should be one of these by default). No code to handle this yet. check-in: 16d2e8d9f1 user: ben tags: trunk | |
| 06:25 | Correct an incorrect black pixel in the PuTTY icon that's been annoying me for some time. check-in: 59297f8b8e user: ben tags: trunk | |
| 06:19 | Clear the "Inited" bit when we finish building each executable, in a bid to get the Finder to look at the new 'BNDL' resource. check-in: 59675f5f98 user: ben tags: trunk | |
| 06:18 | It would help if everything agreed on the type of PuTTY random seed files. check-in: 230dab5fda user: ben tags: trunk | |
| 06:03 | Simplify the random-seed-saving code: There's no need to take great care to preserve the old file in case the update is interrupted and replace it atomically, so we just overwrite in place. Much simpler. check-in: 1be497bfde user: ben tags: trunk | |
|
2003-01-17
| ||
| 07:32 | When voting for items already on the wishlist, a stonking new reason that we hadn't already thought of might help. check-in: 8cf7b05740 user: jacob tags: trunk | |
|
2003-01-16
| ||
| 09:43 | Steven Shockley points out that the .PPK extension is far from obvious to users. Update the file selection dialogs to mention it per the usual Windows convention, and also sprinkle references to it throughout the docs. I've also scattered hints that most tools need PuTTY's native format; perhaps this will reduce the frequency with which FAQ A.1.2 trips people up. check-in: 8a5be4d472 user: jacob tags: trunk | |
|
2003-01-15
| ||
| 18:52 | Statements after declarations, dammit check-in: 307baf6078 user: jacob tags: trunk | |
| 18:35 | Add some icons for saved sessions and random seeds. check-in: cc330ea46e user: ben tags: trunk | |
| 17:46 | "I don't think that bit means what I think it means", if you see what I mean. In other words, turn off the useTextEditServices bit in our 'SIZE' resource. check-in: 62298597b3 user: ben tags: trunk | |
| 17:30 | Add the ability to close sessions. This adds *_free() functions to most areas of the code. Not all back-ends have been tested, but Telnet and SSH behave reasonably. Incidentally, almost all of this patch was written through Mac PuTTY, admittedly over a Telnet connection. check-in: c4f9059891 user: ben tags: trunk | |
| 16:37 | Make this compile again. check-in: 63aaa3e54a user: ben tags: trunk | |
| 14:47 | Implement Simon's suggestion of moving DEFAULT_PROTOCOL into a per-backend- link-module const variable `be_default_protocol' which suggests a sensible default to the front end (which can ignore it). (DEFAULT_PORT is replaced by a lookup in the backend[] table.) Still not pretty, but it does mean that the recent fix for `ssh-default' doesn't break PuTTYtel. check-in: 184dd22aa5 user: jacob tags: trunk | |
| 12:47 | MacTCP returns canonical names with a trailing dot. We don't want this, so strip it off. check-in: 7192827858 user: ben tags: trunk | |
| 12:45 | PuTTYtel should use be_nossh, not be_none. While we're here, also comment the meaning of [M]. check-in: 4da7e1cce4 user: ben tags: trunk | |
| 10:16 | Fix small breakages as a result of yesterday's upheavals. Oops. check-in: 0f70f4c34a user: simon tags: trunk | |
| 09:22 | `ssh-default': change the /DSSH_DEFAULT flag to a /DTELNET_DEFAULT one and note its existence in Recipe. As far as I can tell there are no documentation changes required. check-in: e942898dbf user: jacob tags: trunk | |
| 08:51 | Use set_icon and set_title rather than SetWindowText. Should fix inactive-title. check-in: 10b8c5f189 user: owen tags: trunk | |
|
2003-01-14
| ||
| 13:57 | Use the standard linedraw->Unicode mapping from unicode.c to generate unitab_xterm. Most linedraw characters display correctly, but it's clear that RDB and Apple disagree on some of the mappings. check-in: d691465c13 user: ben tags: trunk | |
| 13:42 | Update for Unicode deglobalisations. check-in: a7d676d35a user: ben tags: trunk | |
| 13:41 | Update the "known bugs" and "missing features" sections. check-in: b143053804 user: ben tags: trunk | |
| 13:29 | Add constants to mac_res.r to set the binary version number. Mention this in CHECKLST as a location where the version number has to be set. check-in: 33463e913f user: ben tags: trunk | |
| 13:09 | const fallout. check-in: 7a1fadcab6 user: ben tags: trunk | |
| 12:44 | Remove debugging printfs from mac_workoutfontscale(). check-in: 55403212aa user: ben tags: trunk | |
| 12:43 | Miscellaneous fixes to finish up `remove-statics'. rlogin.c had a holdout static I hadn't noticed; unicode.c had one too; and a large number of statics that were perfectly OK due to being constants have been made `const', with assorted `const' repercussions all over the place. I now declare `remove-statics' to be fixed. check-in: 47dac3d92b user: simon tags: trunk | |
| 12:43 | Add double width/height support. This passes all the relevant parts of vttest apart from the "mad programmer" screen, which I think is a linedraw problem. This also intorduces proper clipping of the drawn text for good measure. check-in: 9c73339f07 user: ben tags: trunk | |
| 12:28 | Deglobalise the Unicode module. Despite all my grand plans, I've just done this the very simple way - bundle all the globals into a data structure and pass pointers around. One particularly ugly wart is that wc_to_mb now takes a pointer to this structure as an argument (optional, may be NULL, and unused in any Unicode layer that's even marginally less of a mess than the Windows one). I do need to do this properly at some point, but for now this should just about be adequate. As usual, the Mac port has not been updated. check-in: 483cb38b72 user: simon tags: trunk | |
| 09:24 | request_resize() needs to call term_size() to tell the terminal emulator that its resize request has been approved. check-in: 2a3a2dd2a2 user: ben tags: trunk | |
| 09:01 | It's impossible to write a checklist from scratch without leaving one or two things out of the first version. check-in: f54223cef2 user: simon tags: trunk | |
| 08:19 | After the New Year copyright-dates fiasco, I think it's about time we had one or two official checklists. This file lists the locations of _all_ the copies of the licence and the copyright dates, all the files in CVS which need to know the current version number, and also lays out the release procedure since I always find it terribly fiddly to do it all in the right order. PLEASE KEEP THESE LISTS UP TO DATE, people! Anyone adds a new copy of the licence or the copyright notice, shout about it in here. Likewise any file that needs to know the current release number and can't get away with referencing LATEST.VER. check-in: 20a4d7ccdf user: simon tags: trunk | |
| 05:24 | Ctrl-PgUp and Ctrl-PgDn now scroll by one line on Unix and Windows check-in: 62e9596ee2 user: owen tags: trunk | |
|
2003-01-13
| ||
| 12:03 | Oops - put the right `void *' in back->reconfig. check-in: 182b57a102 user: simon tags: trunk | |
| 09:06 | Make ^/ do the same as ^_ (wish control-slash) check-in: 9c37f01da2 user: owen tags: trunk | |
|
2003-01-12
| ||
| 10:25 | Set the window title to the canonical host name when we connect. check-in: eeab6cffbb user: ben tags: trunk | |
| 10:11 | Consequences of Simon's recent deglobalisation changes. check-in: 93cecb8450 user: ben tags: trunk | |
| 09:46 | When receiving data, only pass up to the backend as much as we received. check-in: 5344fdb74b user: ben tags: trunk | |
| 09:45 | Ahem. Doing loads of stuff to inst->cfg would probably be best done _after_ allocating inst. Oops. check-in: c1d670c1f5 user: simon tags: trunk | |
| 09:42 | Make this compile again. check-in: 6d5dec11b3 user: ben tags: trunk | |
| 09:36 | Ahem. Global replace of `cfg' with `inst->cfg' is all very well, but let's try to make sure it doesn't happen inside any strings! The -cfg option for cursor foreground colour nearly had a nasty accident there. check-in: 3522aa05fd user: simon tags: trunk | |
| 09:32 | Having laid all the groundwork, we can now remove the global `cfg' completely from putty.h. It's now static in each of the command-line front ends, shared only between window.c and windlg.c in PuTTY proper (I've tested this by doing #define cfg cfgsillyname in those two files only, and it still links so nobody else is using that symbol!), and part of the `inst' structure in pterm. I think that only leaves the Unicode module as the last stubborn holdout in the anti-global-variables campaign. check-in: c3e7c65a17 user: simon tags: trunk | |
| 09:26 | proxy.c now no longer refers to `cfg'. Instead, each of the three proxy-indirection network functions (name_lookup, new_connection, new_listener) takes a `const Config *' as an argument, and extracts enough information from it before returning to handle that particular network operation in accordance with the proxy settings it specifies. This involved {win,ux}net.c due to a `const' repercussion. check-in: 894cb1e750 user: simon tags: trunk | |
| 09:10 | The logging module now contains a local copy of cfg too. check-in: 425e784a06 user: simon tags: trunk | |
| 08:59 | The Unicode module no longer depends on `cfg', since it gets the relevant bits of it passed in to init_ucs(). (Actually I pass in all of it in the Windows version, since it's a bit hairy in there.) check-in: c14614baa6 user: simon tags: trunk | |
| 08:56 | There's no real need for portfwd.c to reference `cfg' directly, when it only needs one item from it and that can easily be passed in from the call site in ssh.c. check-in: e5b0235ad5 user: simon tags: trunk | |
| 08:50 | printer_start_job shouldn't need to refer to cfg.printer, since it's getting the printer name passed in anyway! Oops. check-in: 95a1b585c5 user: simon tags: trunk | |
| 08:49 | Just like under Windows, cleanup_exit() shouldn't need to check before calling random_save_seed(). check-in: e62ba2fb87 user: simon tags: trunk | |
| 08:48 | The back ends now contain their own copies of the Config structure, and have a function to pass in a new one. (Well, actually several back ends don't actually bother to do this because they need nothing out of Config after the initial setup phase, but they could if they wanted to.) check-in: f4d72755c1 user: simon tags: trunk | |
| 08:45 | Call ot_poll as appropriate. Also use cleanup_exit() in preference to exit() so that MacTCP gets shut down even on unclean exits. check-in: 51e5d253b0 user: ben tags: trunk | |
| 08:44 | Don't fatalbox() unconditionally when opening a connection, since that makes it a little difficult to do anything. check-in: f31bedf47b user: ben tags: trunk | |
| 08:37 | Forgot to match the cmdline changes in the Unix port. check-in: 7e115c6d0d user: simon tags: trunk | |
| 08:30 | term->cfg is now a full copy of the Config structure, not a pointer; and term_reconfig() now passes in a new structure which is copied over the top. This means that the old and new structures can be compared, and the _current_ as well as default states of auto wrap mode, DEC origin mode, BCE, blinking text and character classes can be conveniently reconfigured in mid-session without requiring a terminal reset. check-in: 1d1cf2f03f user: simon tags: trunk | |
| 08:23 | COmpiling _before_ committing is usually a good idea. check-in: 2a0d1e3dc5 user: ben tags: trunk | |
| 08:17 | The command-line routines now take a pointer to `cfg' as an argument, so they don't depend on it being a global any more. check-in: 5c4ededf67 user: simon tags: trunk | |
| 08:11 | Support for XDM-AUTHORIZATION-1 at the SSH server end, making use of the remote IP/port data provided by the server for forwarded connections. Disabled by default, since it's incompatible with SSH2, probably incompatible with some X clients, and tickles a bug in at least one version of OpenSSH. check-in: 55fa8e003a user: simon tags: trunk | |
| 07:50 | Correct code to insert into a doubly-linked list. check-in: 0f5c72e5d7 user: ben tags: trunk | |
| 07:44 | Each platform's implementation of askappend() is no longer required to consult cfg.logxfovr, because it gets done once in logging.c. askappend() is now called only when a question _really_ needs to be asked of the user. Also in this checkin, cleanup_exit() in console.c no longer consults cfg.protocol to decide whether to save the random seed, because random_save_seed() can make that decision for itself and do it better. check-in: 6a1531bf27 user: simon tags: trunk | |
| 07:06 | Cute though DNSAddresses are, they're a poor match for the model the rest of PuTTY has of DNS resolution, so I've replaced them with something more conventional. Sorry. The new code has the advantage of working, of course. check-in: 677e3ac503 user: ben tags: trunk | |
|
2003-01-11
| ||
| 19:37 | Use memset() rather than OTMemzero(), and hence remove the need to weak link against OTUtilityLib. check-in: a4f5dbc17e user: ben tags: trunk | |
| 19:25 | Remove code for splatting test data into new terminals, since we can do that over real network connections now. check-in: 6e48f77281 user: ben tags: trunk | |
| 19:24 | Change error handling to store the error number rather than the string, and to convert to a string only on demand. This makes it possible to have the string contain the error number if we don't recognise it. check-in: d7536c3985 user: ben tags: trunk | |
| 17:33 | Initial import of Owen's OpenTransport interface. It doesn't work yet, but it does compile and link. check-in: ebd926c45f user: ben tags: trunk | |
| 13:43 | Add an indirection layer between mtcpnet.c and the rest of PuTTY so that we can have runtime switching between MacTCP and OpenTransport, and so that we can cope if there's no TCP/IP stack available at all (albeit with very little functionality at present). check-in: ced4a2aac4 user: ben tags: trunk | |
| 11:36 | Calling plug_closing() is highly likely to result in a call to sk_close(), so arrange that mactcp_poll() can cope with that and not access freed memory when it happens. check-in: 54ae5e5df7 user: ben tags: trunk | |
| 11:31 | When polling MacTCP connections, check the connection state and if the far end has sent a FIN pass that up to the plug. TODO: handle less graceful connection closures. check-in: 0f347a7892 user: ben tags: trunk | |
| 08:20 | Move the prototype for platform_get_x11_auth() from x11fwd.c to ssh.h so that it can be checked against the implementation. check-in: 81acda317b user: ben tags: trunk | |
| 08:08 | Add a cast for a char * vs unsigned char * conflict. check-in: 2fb4a2e5b1 user: ben tags: trunk | |
| 08:08 | const fallout from Simon's X forwarding changes. check-in: f97554fe73 user: ben tags: trunk | |
| 04:05 | Yet _another_ `received data for nonexistent channel' bug. This time it was because we received WINDOW_ADJUST on a channel we'd already sent CLOSE on, and reflexively attempted to continue sending the buffered data in response. Should now be fixed. check-in: 98f54831b9 user: simon tags: trunk | |
| 03:46 | Hack around an oddity in X display names and xauth. check-in: 34e60855a6 user: simon tags: trunk | |
| 03:31 | Support XDM-AUTHORIZATION-1 for connecting to local X servers. If we're going to be a security program, we can at least make a token effort to use the most secure local X auth available! And I'm still half-tempted to see if I can support it for remote X servers too... check-in: 82547fdbe1 user: simon tags: trunk | |
|
2003-01-10
| ||
| 12:33 | Introduce framework for authenticating with the local X server. Windows and Mac backends have acquired auth-finding functions which do nothing; Unix backend has acquired one which actually works, so Plink can now do X forwarding believably. (This checkin stretches into some unlikely parts of the code because there have been one or two knock-on effects involving `const'. Bah.) check-in: 5ec7a0298b user: simon tags: trunk | |
| 09:23 | Ask for a meaningful subject line on messages. check-in: 3166a5fce9 user: ben tags: trunk | |
|
2003-01-09
| ||
| 17:29 | Implement get_window_title(). check-in: bc5029d78b user: ben tags: trunk | |
| 17:04 | Forcibly close any TCP connections that are still open when PuTTY exits. This saves leaving them lying around to crash the machine later. check-in: c527de7848 user: ben tags: trunk | |
| 16:51 | Use c2pstrcpy() rather than silly sprintf() tricks. check-in: ad409e8d2c user: ben tags: trunk | |
| 16:45 | c2pstr() is deprecated. Use c2pstrcpy() instead. check-in: 5802067d97 user: ben tags: trunk | |
| 16:39 | Take advantage of having control over the default font to do the job properly: ask the system script what it's preferred monospaced font is, and use that if possible. Failing, that, try the Roman script system, and if that fails, fall back to Monaco 9. check-in: 849df9085a user: ben tags: trunk | |
| 13:27 | Set PuTTY's canBackground flag so that it receives CPU time (to process incoming data) while in the background. check-in: 12ff76e80c user: ben tags: trunk | |
| 13:26 | Install a notification procedure (ASR) on each TCP connection that wakes PuTTY up when something happens. This should allow it to receive data without having to poll for it continuously. check-in: f5c80ac867 user: ben tags: trunk | |
| 13:26 | Remove the diagnostic added in rev 1.42 [r2288]; apparently it's all true and WinSock _does_ occasionally send us netevent messages with no socket for no reason. Ignore them when they appear. check-in: 5d62036b85 user: simon tags: trunk | |
| 13:24 | Switching from -opt space to -opt time on 68K Macs only loses us about 2K of disc space, and we need all the speed we can get, so do that. check-in: 58ef8dc86d user: ben tags: trunk | |
| 12:28 | Unix plink now catches SIGWINCH and propagates local terminal resizes to the remote end. check-in: 52b6f1b0fb user: simon tags: trunk | |
| 12:14 | Support asynchronous connect() in Unix networking. Now a port forwarding to a nonexistent host shouldn't hold up the rest of the program. check-in: 869235486e user: simon tags: trunk | |
| 12:06 | I'm sick of all those #ifdefs in settings.c, and in any case plink and pterm need at least one default setting to be _different_ (pterm needs the default term type to be `xterm', while plink needs it to be taken from $TERM). So here's a completely new alternative mechanism for platform- and app-specific default settings. Ben will probably want to check the integrity of the Mac port, since I've fiddled with it without testing that it still compiles. check-in: 22de118cfc user: simon tags: trunk | |
| 11:33 | Yikes! Forgot to zero the password after SSH2 PW authentication. check-in: aa17fae5a8 user: simon tags: trunk | |
|
2003-01-08
| ||
| 17:58 | Add PuTTYtel binaries. check-in: 1162767e1c user: ben tags: trunk | |
| 17:56 | Rather useless entropy-collection functions for Mac OS. These need work. check-in: 4669558932 user: ben tags: trunk | |
| 16:48 | The CFM-68K build isn't working at the moment (we blow past its global data limit what with libcharset and the crypto stuff), so don't include it in "all". check-in: 79d8b22e1c user: ben tags: trunk | |
| 16:46 | Fairly major hackery to get SSH going on the Mac. Half the support functions are only dummy stubs, but it's still minimally usable. At least, as long as you don't want to do anything complex like logging out. check-in: 6459e357ed user: ben tags: trunk | |
| 03:15 | We just got mailed a Dr Watson log which suggests I failed to initialise term->paste_len during initialisation, and indeed looking at the code confirms this. I'm puzzled as to why valgrind didn't spot this in pterm, though, since it's all in cross-platform code! check-in: e6bf04bb91 user: simon tags: trunk | |
|
2003-01-07
| ||
| 17:05 | Use '\012' as the end of the SSH banner line, not '\n'. Mac compilers default to making '\n' == '\015'. check-in: d44d168232 user: ben tags: trunk | |
| 16:45 | Initialise the "protocol" field of a new ssh_tag to NULL so Bad Things don't happen if we try to type things before the SSH banner has been received. check-in: b61b55710e user: ben tags: trunk | |
| 14:47 | Move the various big tables to the start of the file to save mucking about with ifdefs for specific compilers. check-in: ea9dc97847 user: ben tags: trunk | |
| 07:09 | Ahem. Now pterm actually uses wc_to_mb in a situation where it needs to pass in a default character, it would help if wc_to_mb actually _honoured_ the default-character parameter. check-in: d7a9c4eae7 user: simon tags: trunk | |
|
2003-01-06
| ||
| 15:46 | It looks like Visual C (or whatever the Windows snapshots are built with) objects to incomplete static array declarations, which I introduced to work around a bug in SC/MrC. Use #ifdefs to decide whether to enable the workaround or not. check-in: f7bf7975a3 user: ben tags: trunk | |
|
2003-01-05
| ||
| 17:48 | One usually includes .h files, not .c files. That explains why it was taking so long to compile! check-in: a199a6db2a user: ben tags: trunk | |
| 17:38 | Include putty.h to get prototypes for exported functions. check-in: 1f033399f4 user: ben tags: trunk | |
| 17:36 | zlib_disable_compression() and zlib_huflookup() are unused outside this file. Make them static. check-in: fdb9f081cc user: ben tags: trunk | |
| 17:34 | SHA512_Core_Init() and SHA512_Block() are unused outside this file. Make them static. check-in: 4245630337 user: ben tags: trunk | |
| 17:32 | rsa2_sign() is unused outside this file. Make it static. check-in: 3260047bd9 user: ben tags: trunk | |
| 17:30 | random_stir() is unused outside this file. Make it static. Include putty.h to get prototypes for random_init() and random_get_savedata(). check-in: 636691c265 user: ben tags: trunk | |
| 17:28 | Move prototypes for base64_decode_atom(), base64_lines(), and base64_encode() from import.c to ssh.h, so that the implementation can see them. This necessitates ssh.h's including <stdio.h>. Also remove a spare prototype for base64_encode_atom() from import.c. check-in: 07dc052ae1 user: ben tags: trunk | |
| 17:14 | dss_sign() is unused outside this file. Make it static. check-in: 3934d17e64 user: ben tags: trunk | |
| 17:12 | des_key_setup(), des_encipher(), and des_decipher() are unreferenced outside this file. Make them static. check-in: ba2fe1a855 user: ben tags: trunk | |
| 17:09 | Include ssh.h for the crc32() and crc32_update() prototypes. check-in: 3755b0612b user: ben tags: trunk | |
| 17:05 | bigdivmod() is unreferenced outside this file. Make it static. diagbn() is unreferenced. #if it out. check-in: e7b4c7d1a8 user: ben tags: trunk | |
| 17:03 | aes_setup() is unused outside this file. Make it static. check-in: ac0529bede user: ben tags: trunk | |
| 17:01 | Make ssh1_pkt_type(), ssh2_pkt_type, logeventf(), setup_userpass_input(), process_userpass_input(), and ssh_unthrottle() static, since they're not referenced outside this file. check-in: 0fbb2d9948 user: ben tags: trunk | |
| 16:53 | Move x11fwd and portfwd prototypes from ssh.c into ssh.h so they can be seen by (and checked against) the definitions. check-in: f286ce2a32 user: ben tags: trunk | |
| 16:52 | SC in "finding an actual bug" shocker! Set the port number before passing it to name_lookup(). check-in: 436176626c user: ben tags: trunk | |
| 09:31 | sshsha.c and sshmd5.c compile fine on PowerPC now. check-in: d50d641ccf user: ben tags: trunk | |
| 09:31 | Make SHA_Core_Init() (only used in this file) static. check-in: d794fd86f7 user: ben tags: trunk | |
| 09:29 | Make MD5_Core_Init and MD5_Block (both only referenced in this file) static. check-in: d692d91a3c user: ben tags: trunk | |
| 08:23 | "possible unintended assignment"? I think not. check-in: f6c15f8be1 user: ben tags: trunk | |
| 08:20 | char * vs unsigned char * (by explicit cast). check-in: 546b9eaebf user: ben tags: trunk | |
| 08:18 | Commas at the end of enumerator lists aren't allowed. check-in: 86f463676f user: ben tags: trunk | |
| 08:14 | Eliminate more unsigned char * vs char * errors using explicit casts. check-in: 3bfa9585d4 user: ben tags: trunk | |
| 08:11 | Fix more unsigned char * vs char * warnings, usually by making implicit casts explicit. check-in: 4f18716ac4 user: ben tags: trunk | |
| 08:00 | Replace implict char-*-to-unsigned-char-* casts with explicit ones. check-in: 912e776089 user: ben tags: trunk | |
| 07:57 | SC (Apple's 68K C compiler) seems to treat tentative definitions of complete arrya as full definitions, and hence gets upset when it finds a full definition later. This is a bug (see K&R2 A10.2), but an easy one to work around by making the tentative definitions incomplete, so I've done that. check-in: 5537b6e0a6 user: ben tags: trunk | |
| 07:46 | Deal with "possible unintended assignment" warnings. check-in: 616c91e0f9 user: ben tags: trunk | |
| 07:43 | Attack char * vs unsigned char * conversions. In most cases, I've just gone for replacing the implicit casts with explicit ones. Where there was something obviously better that I could do, I've done it, though. check-in: 768d1ae040 user: ben tags: trunk | |
| 07:04 | Fix more "possible unintended assignment" warnings. check-in: 0a86a76f46 user: ben tags: trunk | |
| 06:53 | Add reception support for MacTCP. Now I can log in over TELNET, just about. There are still lots of things to fix, like urgent data or the fact that everything seems to happen one keypress too late, but this is an important milestone. check-in: 36cecb15a9 user: ben tags: trunk | |
| 05:31 | When looking for the correct backend to use, look in the configuration structure for the session, not the almost-dead global cfg. check-in: 4b17c5fd29 user: ben tags: trunk | |
| 04:52 | Second work-in-progress MacTCP commit. We can now open a connection, but not transfer any data across it. check-in: 477d7eb08d user: ben tags: trunk | |
|
2003-01-04
| ||
| 18:06 | Add some backends, a network interface and some library routines to the Mac port. check-in: 8b6dd26a4f user: ben tags: trunk | |
| 13:51 | Beginnings of a MacTCP network layer. This has all of the DNS interface present, including stuff to find and load the MacTCP DNR. Actually making a TCP connection is still unimplemented, though, and much testing remains to be done. check-in: 84ea43dc4f user: ben tags: trunk | |
| 13:01 | Add a vsnprintf() for the Mac, which doesn't have one of its own. This is the NetBSD kernel printf, which is integer-only and under a Berkeley-style (now 3-clause) copyright owned by UCB. This has only been compile-tested, but almost all of my changes were in the definitions at the top (the exception being to remove tty output). This lacks 64-bit support because the Apple 68K C compiler, SC, lacks it too. check-in: 2a57d4473b user: ben tags: trunk | |
| 11:24 | Provide a version of stricmp() and strnicmp() for Mac OS, which doesn't have its own. These are from NetBSD's libc, and have a standard (now 3-clause) Berkeley licence. Also provide a definition of DWORD and a better definition of BYTE. check-in: 92d9baf2f5 user: ben tags: trunk | |
| 10:56 | Fix some char * vs unsigned char * conversions, plus a stylistic nit, both courtesy of Apple's compilers. check-in: ad7d112417 user: ben tags: trunk | |
| 10:42 | Hammer out some char * vs unsigned char * problems. In general, I've kept any buffers used internally by telnet.c as unsigned char, and cast to/from char * when interacting with the rest of PuTTY. Not actually tested, since I'm some way from actually being able to link this yet. Also clean up a couple of style warnings from Apple's compilers. check-in: c65b711d2a user: ben tags: trunk | |
| 10:21 | Fix a few stylistic warnings from Apple's C compilers. check-in: bd0b904aca user: ben tags: trunk | |
| 06:45 | <MacTypes.h> says we should use NULL rather than nil in C, so do that. check-in: ed057fdda3 user: ben tags: trunk | |
|
2003-01-03
| ||
| 18:48 | Re-arrange the sums in the size tip code so as to ensure that we're always do division on positive numbers, hence avoiding nasty problems of rounding towards zero when I wanted rounding down. check-in: 75816ae5a8 user: ben tags: trunk | |
| 18:31 | Small simplification in mac_init(). check-in: 552855f125 user: ben tags: trunk | |
| 18:13 | Correct handling of Mac OS 8.5 Window Manager and Control Manager. The new functions turn out to be available only to PowerPC applications, through WindowsLib and ControlsLib respectively, so we weak-link against those in the obvious way. check-in: 93bc4dcd01 user: ben tags: trunk | |
| 11:52 | Work around a weird bug in gdk_draw_text_wc(). check-in: f98d345130 user: simon tags: trunk | |
| 06:20 | Update copyright notices that both Owen and Simon managed to miss. _How_ many copies of the licence do we need? *grin* check-in: 0d2d1aec4c user: ben tags: trunk | |
| 04:59 | Update more copyright dates. Sometimes I think we ought to have an automated means of doing this every year :-( check-in: 93a7dacf1d user: simon tags: trunk | |
| 03:49 | Update copyright dates check-in: 74696bae8c user: owen tags: trunk | |
|
2003-01-02
| ||
| 18:40 | Pull in Script.r so we can use verBritain in the 'vers' resources rather than hardcoding 2. check-in: c4cf818e9f user: ben tags: trunk | |
| 17:52 | Any Mac that can handle CFM-68K code must have at least a 68020 CPU, and hence be equipped with Color QuickDraw, as are all PowerPC systems. Hence, don't bother with support for basic QuickDraw in the CFM-68K and PowerPC builds. check-in: 4485563b58 user: ben tags: trunk | |
| 17:39 | Add a prototype for init_ucs(). check-in: 0daf5a32d9 user: ben tags: trunk | |
| 12:09 | Having tested it, note that the Classic 68K build seems to work on Mac OS X now. Also describe more generally which builds work where. check-in: 929436e185 user: ben tags: trunk | |
| 11:07 | ... of course, that would be better still if I remembered to update `nvalid'. Ahem. check-in: ad06ad29a5 user: simon tags: trunk | |
| 10:56 | A better solution to the problem of duplicated positions in CS_ISO8859_1_X11: where two SBCS positions map to the same Unicode code point, we now have a `sortpriority' hint which can tell sbcsgen.pl which one it should preferentially generate when converting back to SBCS. check-in: aa609d3f62 user: simon tags: trunk | |
| 10:20 | CJK cleanups. Correct handling when the cursor is covering the right-hand half of a CJK wide character; correct handling of cut and paste when CJK text wraps between lines _irrespective of the parity of the starting column_; correct handling of wordness values irrespective of which half of a CJK character the user double-clicked on; correct handling when any terminal activity overwrites only one half of a CJK wide character. I think we now behave marginally better than xterm in this respect (it has a redraw problem when you overwrite the RH half of a CJK char), so I'm happy. Also redefined the internal UCSWIDE marker to something in the surrogate range, while I'm here, so that U+303F is available for use by actual users. check-in: c969a020c7 user: simon tags: trunk | |
| 10:17 | Fixes to direct-to-font mode: I'd inadvertently enabled it for any font whose encoding comes up as CS_NONE - but this is also true for iso10646-1 fonts, since libcharset doesn't support wide-character encodings! Hence UTF-8 cut and paste was enabled in ordinary modes, but disabled in UTF-8 mode, which was a bit embarrassing. Now we have a dedicated flag variable indicating direct-to-font mode. check-in: fb856615d4 user: simon tags: trunk | |
| 08:23 | Mention that Shift-Ins works here. check-in: 5929f24830 user: ben tags: trunk | |
| 05:14 | Fix `telnet-resize-iac'. (IAC bytes were not duplicated when they occurred in a NAWS subnegotiation. Result: a terminal width or height of 255 was not being correctly sent to the server.) check-in: 8a9f2bac80 user: simon tags: trunk | |
| 04:45 | A couple of X forwarding fixes for Unix Plink. Firstly, under Unix the default X display should be whatever comes out of $DISPLAY, rather than Windows's hardwired `localhost:0'. Secondly, this may give rise to a display name without a hostname (`:0' or similar), which we now need to be able to deal with. Of course, we still don't _properly_ support X forwarding in Unix Plink, since we still can't authenticate with the local display. check-in: b7c53546d7 user: simon tags: trunk | |
| 04:41 | Propagate the screen number from a local X display to the remote forwarded one. Fixes `x11-default-screen'. check-in: dc76e6731e user: simon tags: trunk | |
| 04:07 | sk_nonamelookup() should ensure the sockaddr it returns has `error' set to NULL. Otherwise it'll be random uninitialised goop. Not good. check-in: cf579ee730 user: simon tags: trunk | |
| 04:07 | Presence of unexpected characters in the proxy exclude list causes a tight loop in proxy_for_destination(). Fixed. check-in: 7801b75dda user: simon tags: trunk | |
|
2003-01-01
| ||
| 18:33 | If for some reason do_text() fails to translate from Unicode to the font encoding, have it go through the rest of its motions with an empty string anyway, so as to at least give a sensible empty box of the right colour. If SetFallbackUnicodeToText() fails, switch over to using the charset library, hence avoiding problems in do_text(). If the version of the Unicode Converter we're using doesn't understand about interrupt-safe fallback functions, don't try to tell it we've got one. This prevents SetFallbackUnicodeToText() from failing on systems with old Unicode Converters. check-in: d8f4c0f611 user: ben tags: trunk | |
| 16:25 | Proper support for using the font's own character encoding. If we know what that encoding actually is, we can do our best to support additional charsets (VT100 linedrawing, SCO ACS, UTF-8 mode) using the available characters; if we don't, we fall back to a mode where we disable all Unicode cut-and-paste and assume any Unicode character is undisplayable. check-in: 82f2469b77 user: simon tags: trunk | |
| 15:53 | Support for double-width (CJK) characters, using the xterm-like options -fw and -fwb to specify wide and wide-bold fonts. check-in: 21b2cdb2c9 user: simon tags: trunk | |
| 14:28 | The redirection operator I wanted was >>, not >. check-in: 136780623c user: ben tags: trunk | |
| 14:26 | Ignore .rsrc files. check-in: 5467bbdbe0 user: ben tags: trunk | |
| 13:51 | Add a mechanism for determining which charset to use for a given Mac OS font, and use it. check-in: d8ed6e3ca5 user: ben tags: trunk | |
| 11:03 | Having painstakingly generated those reverse mapping tables in sbcsdat.c, it would seem a shame not to actually use them. Ahem. Thanks to Ben, without whose checkin in this area I'd have forgotten completely :-) check-in: bc2e7ebcc5 user: simon tags: trunk | |
| 10:24 | Add all the Mac OS simple single-byte character sets from ftp.unicode.org. Also add the older variants described there, and the character set used by the "VT100" font (old and new). Since RFC 1345 defines "macintosh" to refer to the currency-sign variant of Mac OS Roman, update our table to match. check-in: d155c28797 user: ben tags: trunk | |
| 05:45 | Remove a couple of unnecessary casts that my compiler seems to have taken exception to. check-in: 55215e0e23 user: ben tags: trunk | |
|
2002-12-31
| ||
| 16:49 | Use the shiny new character-set library to handle conversion from Unicode to Mac OS Roman for display if the Unicode Converter isn't around. Support for Mac character sets other than Roman (e.g. the variant used by the Apple VT100 font) is still absent. check-in: f40b538bf5 user: ben tags: trunk | |
| 16:40 | Add "-notOnce" to the compiler options on the Mac to stop the compiler assuming that duplicate #includes of the same file are idempotent. I mean, it's not even true for the standard headers (think <assert.h>), and certainly isn't true here. check-in: e4a7932213 user: ben tags: trunk | |
| 16:37 | I have no idea what Simon thought he was doing casting what was once a struct sbcs_data * (first element an array of unsigned long) into a wchar_t *, but I think it's reasonably safe to assume that it was a mistake. check-in: 3aa3320e23 user: ben tags: trunk | |
| 15:12 | Add internal prototypes to keep my compiler from complaining. check-in: b71b21ecfd user: ben tags: trunk | |
| 14:11 | Add a small comment explaining my failure to find any way to get QuickDraw to give me the missing-character glyph for a font. While I'm here, change the character we substitute for unmappable ones to '.', since that's what the charset library uses. check-in: b4709f6309 user: ben tags: trunk | |
| 09:42 | Better, I think, to avoid mapping 0x00 -> U+0020 in the X11 nonstandard font encoding. 0x20 maps to it, so it's not as if it's in short supply. check-in: 9f9d2dbfe3 user: simon tags: trunk | |
| 06:20 | First draft of Unicode support in pterm. It's pretty complete: it does UTF-8 copy and paste (falling back to normal strings if necessary), it understands X font encodings and translates things accordingly so that if you have a Unicode font you can ask for virtually any single-byte encoding and get it (Mac-Roman pterm, anyone?), and so on. There's work left to be done (wide fonts for CJK spring to mind), but I reckon this is a pretty good start. check-in: 94580ef671 user: simon tags: trunk | |
| 05:03 | SCO ACS part 2 (ESC[12m) apparently puts the top half of CP437 into _both_ halves of the character set, rather than flipping the two halves. My source for this is linux/drivers/char/console.c. check-in: ac8af152ff user: simon tags: trunk | |
| 04:04 | Dimitrie Paun's patch for Winelib support. Actually does nothing except add a couple of commented-out lines to Makefile.cyg; the Winelib user must uncomment them to do the compilation. check-in: 631202fdb3 user: simon tags: trunk | |
|
2002-12-30
| ||
| 19:40 | Add a minimalist settings dialogue, which contains a single button marked "open". Still, it seems to work. check-in: 7664066586 user: ben tags: trunk | |
| 17:33 | Remove mentions of files and functions that no longer exist. check-in: 9f04a1cd91 user: ben tags: trunk | |
| 17:15 | No need to compile resources manually now. check-in: 48c9502107 user: ben tags: trunk | |
| 17:14 | Add support for compiling 'vers' resources into Mac applications. This is needlessly complex because Rez's preprocessor doesn't do either ANSI or K&R stringification, and the MPW Shell isn't much good as shells go. Also make _all_ the Mac executables depend on reources, not just the Classic 68K one. check-in: 14a9efc5f6 user: ben tags: trunk | |
| 13:01 | Set the default directory to somewhere useful (the PuTTY saved sessions folder) when we start up. check-in: 0ae0844a7b user: ben tags: trunk | |
| 12:21 | Add an "open" command to the "file" (now "session") menu on the Mac to open an existing saved session. This has entailed adding an extra hook to settings.c to allow for loading settings other than by name. check-in: f3d111cbe4 user: ben tags: trunk | |
| 09:41 | Remove a spurious reference to a variable I've removed. check-in: d3b3e47d66 user: ben tags: trunk | |
| 08:20 | Finally add support for building Mac resource forks. This adds a new kind of compiled resource file, .rsrc, which is built from .r, and adds mechanisms to the MPW makefile generator to handle this. check-in: c0c8b8421f user: ben tags: trunk | |
| 08:17 | Add spaces to system include lines to that mkfiles.pl doesn't try to follow them (silly Rez can't do angle-bracket includes). check-in: f316f2470c user: ben tags: trunk | |
| 07:43 | More cleanup to Mac build procedures, notably: - Remove an unused library from the CFM-68K link line. - Set the fragment name in CFM builds to "PuTTY". - Set the hasBundle and isShared bits on freshly-created applications. check-in: 7702162659 user: ben tags: trunk | |
|
2002-12-29
| ||
| 13:19 | Add various files produced by the build system. check-in: 74c534d03c user: ben tags: trunk | |
| 13:14 | Don't try to call TerminateUnicodeConverter() in the CFM world: it isn't there. check-in: d7b56f740a user: ben tags: trunk | |
| 13:11 | Brutally simplify out all the junk that MPW left here when it first wrote this file. check-in: 056c43460d user: ben tags: trunk | |
| 13:01 | Add support for building a CFM-68K version of PuTTY, which is rather smaller than the Classic 68K version. This requires installing more bits of the Text Encoding Converter SDK, since Apple seem to have forgotten to put _any_ 68k bits for it, either CFM or Classic, in Universal Interfaces. Also don't bother linking against libraries we don't seem to need. check-in: b4b1783c81 user: ben tags: trunk | |
| 09:44 | Substantial overhaul of Mac build system. We now have working PowerPC builds, and optimisation (for size) enabled. check-in: 80dda9eb2c user: ben tags: trunk | |
| 09:08 | Put prototypes for the functions exported by wcwidth.c in putty.h, and remove one from terminal.c. Have wcwidth.c include putty.h to get its prototypes. check-in: 84cbe1ec20 user: ben tags: trunk | |
| 08:47 | Make resizeline() and lineptr() static and give them prototypes. check-in: 94a4a80b07 user: ben tags: trunk | |
| 07:41 | Use the "far" versions of all libraries for which they seem to exist. This should make things less likely to break as the code gets bigger. check-in: 11541b383f user: ben tags: trunk | |
| 07:21 | Add some pragmas so that Mac compilers know that fatalbox() and modalfatalbox() don't return. check-in: 90a15a28f3 user: ben tags: trunk | |
|
2002-12-28
| ||
| 16:44 | It would be better if I deleted the unused variable from the correct function. check-in: 93fb9a8b45 user: ben tags: trunk | |
| 16:25 | Remove more unused variables. check-in: 359457afa1 user: ben tags: trunk | |
| 16:22 | Dispose of some unused local variables. check-in: e9823bb04e user: ben tags: trunk | |
| 16:17 | The current version of SC generates warnings for unused parameters just like MrC. Turn them off, since they're clearly silly. check-in: 651fb5d66f user: ben tags: trunk | |
|
2002-12-27
| ||
| 10:54 | Mention in the documentation that the method of generating RSA keys might give a bit count one less than the one the user asked for. Two people have been worried by this now, and it's probably worth documenting that it's perfectly normal. check-in: b523ff7892 user: simon tags: trunk | |
|
2002-12-19
| ||
| 08:24 | Move the stderr output of event log messages in verbose mode to the general logging module rather than localising it in ssh.c. This means it should work in other protocols as well (notably Telnet, where it might actually be useful for debugging negotiations). check-in: 9ea3dc8f8a user: simon tags: trunk | |
| 08:22 | First crack at an implementation of TELOPT_BINARY, which apparently RFC 1123 (host requirements) says is compulsory. check-in: 9adf61e6b9 user: simon tags: trunk | |
| 05:51 | logeventf() shouldn't throw stuff at stderr, since it invokes the ssh.c logevent _macro_ which has already done so! Duhh. check-in: 919330be30 user: simon tags: trunk | |
|
2002-12-18
| ||
| 10:23 | Support for doing DNS at the proxy end. I've invented a new type of SockAddr, which just contains an unresolved hostname and is created by a stub function in *net.c. It's an error to pass this to most of the real-meat functions in *net.c; these fake addresses should have been dealt with by the time they get down that far. proxy.c now contains name_lookup(), a wrapper on sk_namelookup() which decides whether or not to do real DNS, and the individual proxy implementations each deal sensibly with being handed an unresolved address and avoid ever passing one down to *net.c. check-in: 8d3480376f user: simon tags: trunk | |
| 06:32 | Better reporting of DNS errors while trying to find the proxy server. check-in: 99f372c051 user: simon tags: trunk | |
| 06:18 | Stop proxying connections to localhost by default; should fix `x11-proxy-crash'. check-in: 414b5ad689 user: simon tags: trunk | |
| 05:51 | Placate a trivial compiler warning. check-in: aa211f76ec user: simon tags: trunk | |
| 05:49 | Improve the tab order in the Tunnels box: the `Add' button should happen _after_ all the controls that set up the forwarding, since that's the obvious order you'd want to use them in. check-in: 8dd1f75204 user: simon tags: trunk | |
| 05:39 | Implement `portfwd-loopback-choice'. Works on local side in Unix as well, though it's a lot less useful since you still can't bind to low-numbered ports of odd loopback IPs. Should work in principle for SSH2 remote forwardings as well as local ones, but OpenSSH seems unwilling to cooperate. check-in: dbd436ea57 user: simon tags: trunk | |
| 04:06 | BUG_SSH2_DERIVEKEY is apparently only present in SSH 2.0.11 and before, not in 2.0.13. Verified on at least one host. Fixes bug `ssh2-keyderive-nonbug'. check-in: ae5af25955 user: simon tags: trunk | |
| 03:54 | `Leonid' points out a stupid mistake in MD5 HMAC initialisation: we should initialise _both_ MD5 states, not the same one twice. check-in: 6d0701ede7 user: simon tags: trunk | |
| 03:47 | logeventf()'s first argument is ssh, not ssh->frontend! This is what I get for making the latter a `void *' - type checking deserts me in my hour of need. Should fix Andrey Borzenkov's bug. check-in: d0d528cb50 user: simon tags: trunk | |
|
2002-12-15
| ||
| 07:31 | Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: window.c:90: warning: `do_mouse_wheel_msg' declared `static' but never defined Introduced in 1.185 [r1499]. This function doesn't appear to ever have existed. check-in: 338cfdddcd user: jacob tags: trunk | |
| 07:25 | Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: psftp.c: In function `sftp_cmd_chmod': psftp.c:835: warning: too many arguments for format check-in: 4bac67db09 user: jacob tags: trunk | |
| 07:23 | Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: plink.c:65: warning: `password' defined but not used (introduced in 1.50 [r1525]) check-in: 9e1703aa20 user: jacob tags: trunk | |
| 07:19 | Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: plink.c: In function `from_backend': plink.c:172: warning: unused variable `h' (introduced in 1.35 [r1198]) check-in: 79157afa19 user: jacob tags: trunk | |
| 06:44 | From Greg Prosser: Apparently using "MS Shell Dlg" instead of "MS Sans Serif" in resource files interoperates better with WinXP (enabling font smoothing and improving display of password boxes). I've verified that it's harmless on Win95. check-in: fb34fb93ef user: jacob tags: trunk | |
| 05:51 | faq-rh8-utf8: Problems with Red Hat 8.0 and UTF-8 check-in: ffc81b2da9 user: jacob tags: trunk | |
|
2002-12-12
| ||
| 18:50 | Remove an unnecessary "{Includes}" from the example Rez command. check-in: 98b7dfbce8 user: ben tags: trunk | |
| 18:45 | Provide a full set of small application icons for PuTTY, now equipped with small lightning flashes too. check-in: d805d34ee5 user: ben tags: trunk | |
| 18:02 | Use the Unicode Converter to convert from Unicode to the display encoding if it's available. Linking against the static Unicode Converter library costs us about 30k on Classic 68K, which I can live with. Because the default fallback converter can generate multiple output characters for a single input character, we provide our own fallback that doesn't. It converts everything to '?' instead. check-in: dcc146b8f8 user: ben tags: trunk | |
| 17:55 | When loading a string setting, expect in the same form we would have saved (raw text rather than Pascal string). check-in: 34cbd53221 user: ben tags: trunk | |
|
2002-12-11
| ||
| 12:34 | Add some documentation for the Mac port. check-in: ec4bb81593 user: ben tags: trunk | |
|
2002-12-10
| ||
| 04:19 | IPv4/IPv6 sense problem in SOCKS5 proxying spotted by Andrey Borzenkov -- recent change. check-in: 5bddd9c406 user: jacob tags: trunk | |
|
2002-12-09
| ||
| 19:11 | Since PuTTY depends on lots of features of System 7, have it bale out if it finds itself running on anything older. This is better than killing the whole system with an umimplemented trap. check-in: e43ab09ead user: ben tags: trunk | |
| 17:26 | When resizing the window, redraw the grow box as well as the scroll bar. I wasn't noticing the bug on my system, since the Appearance Manager handles the grow box itself when it's present. check-in: e3c1b93626 user: ben tags: trunk | |
| 16:49 | Update the non-Color Quickdraw code in pre_paint() to match recent changes to the Color Quickdraw code. This makes redraw work properly on old Macs again. check-in: 5dc205fd4e user: ben tags: trunk | |
|
2002-12-08
| ||
| 16:23 | Oops. When deciding which attributes are interesting, we want the union of all the screens' capabilites, not the intersection. check-in: 2e3d5339ea user: ben tags: trunk | |
| 16:15 | Remove a stray prototype for mac_set_attr_mask(). check-in: 2940fe81db user: ben tags: trunk | |
| 16:09 | Remove some unused cruft. check-in: eb485ece1b user: ben tags: trunk | |
| 10:54 | Modify bug-compatibility checks to use wildcards. Should have exactly the same behaviour as before (tested a little bit), but should be easier to expand. (This is the easy bit -- work still needs to be done to fix ssh2-keyderive-nonbug, vshell-no-bug-compat, etc -- but should be easier now.) check-in: 2a30734076 user: jacob tags: trunk | |
| 09:32 | Wrong length was causing spurious \0 to be sent during SSH negotiation with HTTP proxy -- fixed. (Also added a "len -= eol" to HTTP header munching, although it has no practical effect.) HTTP proxying now works again, hurrah. check-in: 4855a5106d user: jacob tags: trunk | |
| 08:44 | Argh. With DEBUG and MALLOC_LOG enabled, I found output intended for the console was ending up in one or other of debug.log or putty_mem.log. I don't really understand why, but I've put some extra paranoia and caching in debug(()) and that seems to have fixed it (tm). Perhaps I can get back to debugging... check-in: e721a3bd3c user: jacob tags: trunk | |
| 06:10 | Doofus Award: logfopen is shared between SSH-packet and session-logging modes, so of _course_ it has to be mode "wb". Restored, and added \r to all of the SSH packet logging stuff. check-in: cdc3577870 user: jacob tags: trunk | |
| 05:00 | Add a new diagnostic in winnet.c, to attempt to pinpoint the reason for the tree234 assertion failure we've had reported recently. check-in: 3b797c50ef user: simon tags: trunk | |
|
2002-12-07
| ||
| 19:17 | Slightly cheesy size-tip implementation. This is suboptimal in two ways: * It paints over the top-left corner of the terminal window. A little floating window would be rather nicer and not much harder to do. * It uses the low-memory global, DragHook, which is unavailable in Carbon and broken in some versions of Mac OS 8 (8.5?). I suspect this is unavoidable, though. check-in: adb5d2eab3 user: ben tags: trunk | |
| 15:35 | For some reason Roman Pompejus' original logging patch opened the log in "wb" mode. Since we were mostly writing "\n" rather than "\r\n", I've changed it to just "w" and refunded the difference. check-in: fa81f923aa user: jacob tags: trunk | |
| 15:15 | Fix write to freed memory in HTTP proxying. Things aren't entirely happy yet, though. check-in: 92c07321a3 user: jacob tags: trunk | |
| 09:21 | When scrolling part of the window, scroll the update region as well so that parts that haven't been painted yet still get an update event in their new location. This code seems far too complicated, and I suspect there's a better way. Still, scrolling continuously with the window partially off-screen now works. check-in: dba4f50b19 user: ben tags: trunk | |
| 06:03 | Ignore generated Mac Makefile check-in: eba08271c0 user: jacob tags: trunk | |
|
2002-12-05
| ||
| 18:09 | Use the Script Manager to find a small Roman font for the licence box rather than assuming that the application font at 9pt will be useful (which it probably won't be on non-Roman systems). check-in: b171e8568d user: ben tags: trunk | |
|
2002-12-04
| ||
| 13:44 | Add some comments explaining what each of these functions is used for. check-in: ab46b32ce0 user: ben tags: trunk | |
| 06:53 | Avoid potential memory leak. check-in: 7582a3be6f user: owen tags: trunk | |
| 06:40 | #include <signal.h>. Compiled fine without it on Debian 3.0, but not on 2.2. Wonder what changed. check-in: 861d27cdcc user: simon tags: trunk | |
| 06:39 | Changed to use strerror() check-in: fe6c8e80c3 user: owen tags: trunk | |
|
2002-12-02
| ||
| 15:06 | Driver script for building PuTTY under MPW. MPW isn't multi-tasking, so its "make" program just emits a script for us to run. This script wraps all that horribleness up so we don't have to see it. check-in: 3690b6d49e user: ben tags: trunk | |
| 15:03 | Add an entry for the Mac version of PuTTY. check-in: c78f03d164 user: ben tags: trunk | |
| 15:01 | Add support for generating MPW Makefiles. This makes the following changes: * splitline gets support for changing the continuation character. * deps returns a data structure for the output routine to format as appropriate. * There's a new program type, [M], for Macintosh. * There's a new backend to output mac/Makefile.mpw. check-in: 6656319f6a user: ben tags: trunk | |
|
2002-11-28
| ||
| 18:32 | Improve support for non-colour displays by adding a mask of attributes to ignore when breaking text into runs for display, and implement setting this on Mac (other ports just use 0xffffffff). We don't use DeviceLoop for this any more because Apple Technical Q&A QA1024 says we shouldn't. Unlike their example, we don't depend on the Display Manager's being present either. check-in: a3ea3b85eb user: ben tags: trunk | |
| 15:10 | Don't call SetFractEnable every time we draw some text, since SetFractEnable unconditionally flushes the Font Manager's width cache, and the default is fine for us anyway. This more or less doubles redraw speed, which is nice, but still not really fast enough. check-in: 670f1ee5f3 user: ben tags: trunk | |
| 15:02 | Follow the recommendations in Tech Note TB575 for clipping off the space for the horizontal scroll bar when drawing the grow box. check-in: db92cc34a6 user: ben tags: trunk | |
|
2002-11-27
| ||
| 18:25 | Use StdText() rather than DrawText, so that (later) we can support scaling of text to get double-width etc. Also set the background when scrolling in Original Quickdraw. check-in: 2fc3b84078 user: ben tags: trunk | |
|
2002-11-26
| ||
| 13:35 | Increase the size of the `font' buffer in the Config structure, for the benefit of X font names which are rather more verbose than Windows. One day I want to replace all these fixed-size buffers with sensible dynamically allocated stuff, but not today. check-in: af1eb83a03 user: simon tags: trunk | |
|
2002-11-25
| ||
| 19:32 | Substantial overhaul of colour handling in do_text(). Highlights include: * No more mucking about with transfer modes. We always set up the foreground and background sensibly, EraseRect the whole lot and use srcOr. Apple Tech Note QD505 suggests that this should be faster than srcCopy. * Always use the Palette Manager if we've got Color QuickDraw, even in 1bpp modes. * Apply the cursor colours _after_ all the other stuff, rather than trying to get them through everything else intact. Unfortunately, this doesn't make much difference to the speed. check-in: 027cb71bef user: ben tags: trunk | |
| 17:34 | Make the default font on Mac OS be Monaco 9 rather than Monaco 10, since the former is available as a bitmap. check-in: 7d5b90b918 user: ben tags: trunk | |
| 13:02 | Remove a spurious 'q'. check-in: ef26ead7b5 user: ben tags: trunk | |
|
2002-11-24
| ||
| 09:08 | Add support for displaying the licence window. check-in: 8279651556 user: ben tags: trunk | |
|
2002-11-23
| ||
| 18:38 | Fix scrolling on systems without Color QuickDraw. It seems that the current background colour and pen mode have some silly effects on ScrollRect, so set them back to their defaults before calling it. check-in: 0e0d9ebd85 user: ben tags: trunk | |
| 16:36 | Don't try to initialise the palette unless we have Color QuickDraw. This gets PuTTY running on my Mac SE again (albeit very slowly and with scroll optimisation broken for some reason). check-in: d53a7b1a20 user: ben tags: trunk | |
| 15:42 | Fix a bug in scroll_display(): when the scrolled region contains the cursor we need to update dispcurs as well as disptext. Add scroll optimisation to scroll(). This makes it rather obvious that scroll optimisation is breaking with PuTTY's usual policy of lazy updates, since scrolling is done eagerly. Fixing this so that all the scrolling is saved up for do_paint would be nice, but non-trivial. check-in: c9c0583c1f user: ben tags: trunk | |
| 14:40 | Remove stray debugging printfs. check-in: 01da9b4054 user: ben tags: trunk | |
| 14:02 | Add a Config * argument to ldisc_create(), and use it in place of the global cfg throughout ldisc.c. Not tested other than on Mac, but all other ports just pass &cfg as this argument for now. check-in: 94b6511b43 user: ben tags: trunk | |
| 13:58 | Return the state information from loop_init() in the correct way. This means the backend actually works now. check-in: c4b4347f36 user: ben tags: trunk | |
| 13:01 | Add a "Config *" argument to term_init(), and use that instead of the global cfg throughout the terminal emulator. Not tested in PuTTY and pterm, but they just pass in &cfg. check-in: 40ee80fefa user: ben tags: trunk | |
| 12:22 | Only try to retrieve a 'vers' resource from the current resource file (the application), rather from the entire chain. This prevents us displaying the System version if PuTTY doesn't have one. Also cope with not finding any 'vers' resource. check-in: 89b1b55a38 user: ben tags: trunk | |
| 09:11 | We don't currently need the Thread Manager (and all being well we never will), so stop checking for it. check-in: d3ceeb65ae user: ben tags: trunk | |
| 08:22 | On a keypress, hide the mouse cursor, send the key to the line discipline (rather than straight to the backend), and then prod the terminal. I think this is closer to the correct set of things to do. check-in: 092c0546f5 user: ben tags: trunk | |
| 07:16 | Remove a debugging printf. check-in: 3343e1370f user: ben tags: trunk | |
| 07:07 | Bring in some of my scroll-optimisation stuff from the old Mac port. This introduces a new front-end function, do_scroll(), which is expected to scroll a part of the physical display and cause repaint events for any areas that couldn't be scrolled (e.g. because they were hidden). scroll_display() is a wrapper around this which also updates disptext to match. Currently, scroll_display is only used in response to user scrollback requests (via term_scroll()), but extending scroll() to use it as well should be easy. All of this is conditional on the front end's defining OPTIMISE_SCROLL, since only the Mac front end currently implements do_scroll(). check-in: 541d90c0c7 user: ben tags: trunk | |
| 05:22 | Note about CTRL-C trick for copying text of error dialogs check-in: d1cf6a636f user: jacob tags: trunk | |
|
2002-11-21
| ||
| 18:07 | Update the status of the Mac port. check-in: 444194ac16 user: ben tags: trunk | |
|
2002-11-20
| ||
| 18:15 | Note that default will change to SSH-2 next release check-in: 3764566923 user: jacob tags: trunk | |
| 14:09 | Fixes for more robust handling of command-line parse errors. check-in: 7ee5329b06 user: simon tags: trunk | |
| 13:56 | Interchange two parameters in a printf, to prevent a silly segfault. check-in: f3b8077033 user: simon tags: trunk | |
| 13:49 | Largely-placeholder man page for Plink, for the sake of not irritating `make install'. Thanks RJK, again. check-in: 48b2f36b44 user: simon tags: trunk | |
|
2002-11-19
| ||
| 18:33 | Fiddle with mac_initpalette() so that the cursor works in 2bpp modes as well. check-in: c0ae1e21a6 user: ben tags: trunk | |
| 18:11 | Remove has_focus from Session and use the one in Terminal. Active vs passive cursor now behaves correctly. check-in: 076340b548 user: ben tags: trunk | |
| 17:59 | Remove CURSOR_FG_BOLD and CURSOR_BG_BOLD, and hence bring reality in line with palette_reset()'s expectations. check-in: b59ff742d9 user: ben tags: trunk | |
| 16:05 | Pass co-ordinates to term_paint() in characters rather than pixels. Partial redraws now work rather better. check-in: 6ca95659b9 user: ben tags: trunk | |
| 13:36 | Add mac/ to include paths after discussion with bjh21 check-in: aa7e2b5a71 user: jacob tags: trunk | |
| 06:29 | A couple of useful test backends. check-in: f02d55cce3 user: ben tags: trunk | |
|
2002-11-18
| ||
| 20:14 | Mac resource source file, missed in last commit. check-in: e9754805ae user: ben tags: trunk | |
| 20:13 | Tentative merge of ben-mac-port (only dead for three years!) into the trunk. This doesn't include any mkfiles.pl glue, and is missing one or two other fixes. The terminal emulator is kind of working, though, as, I believe, is the store module. Everything else is yet to be done. check-in: a8c9c17c13 user: ben tags: trunk | |
| 17:49 | When processing input, refer to CR and LF as \015 and \012 respectively, rather than \r and \n. The latter tend to get swapped around by Mac C compilers. check-in: 99f7b1fb00 user: ben tags: trunk | |
| 16:27 | ISO-IR entry 157 appears to correspond to ISO/IEC 8859-10, and lists code point 3/13 as HORIZONTAL BAR, which agrees with unicode.org's mapping table. Change ours to match (it used to have EM DASH, courtesy of RDB). This brings all our 8859-to-Unicode tables into line with unicode.org. check-in: 6681056a36 user: ben tags: trunk | |
| 14:06 | More comment cleanup. check-in: b5f2a15f53 user: ben tags: trunk | |
| 12:24 | Don't forget the IEC! check-in: 5e93843f61 user: ben tags: trunk | |
| 12:14 | Both ISO and unicode.org now admit the existence of 8859-11 (:2001, FWIW), and unicode.org agrees with our mapping table. Update text accordingly. check-in: 4aef9c405a user: ben tags: trunk | |
|
2002-11-17
| ||
| 09:06 | Thanks to Hans-Juergen Petrich for spotting this tiny memory leak: `otherbuf' should still be freed even if the RegEnumKey function that was supposed to fill it with data failed. While I'm at it, also remove the redundant check for its non-NULL-ness (what's the point of having a malloc wrapper that dies rather than return NULL if you then waste effort checking its return value for NULL _anyway_, eh?). check-in: 0d0bacf563 user: simon tags: trunk | |
|
2002-11-16
| ||
| 20:00 | Apple's C compilers don't think that putting parentheses around assignments in "if" conditions is enough. Use an actual comparison against NULL instead. check-in: 3f66765184 user: ben tags: trunk | |
| 19:56 | Change a temporary buffer from unsigned chars to chars, avoiding a pointer-cast warning. check-in: 75b250d599 user: ben tags: trunk | |
|
2002-11-12
| ||
| 12:55 | Bump latest version to 0.53b for release! check-in: 4ea63b3b0d user: simon tags: trunk | |
|
2002-11-09
| ||
| 18:03 | Use <stddef.h> to get wchar_t, rather than <wchar.h> (or nothing, in putty.h). Both are required to contain wchar_t in C99, but only <stddef.h> does in the version of MPW I've got here. check-in: fb9bb66b3f user: ben tags: trunk | |
| 15:46 | Rename CharWidth() to char_width(). The former name clashes with an API function in Mac OS. check-in: b80c92ed92 user: ben tags: trunk | |
|
2002-11-07
| ||
| 14:01 | Improve robustness in random seed file handling. check-in: 609779a448 user: simon tags: trunk | |
| 13:49 | Robustness fixes for KEXINIT handling and others. In particular, I've created a self-mallocing variant of sprintf, to obviate any future need for paranoid %.100s type stuff in format strings. check-in: c58e86fe39 user: simon tags: trunk | |
| 13:37 | Borland makefile needs to define _WINDOWS; apparently this makefile hasn't worked since the Unix port started and nobody has noticed until now :-) check-in: fe11b098c6 user: simon tags: trunk | |
|
2002-11-05
| ||
| 07:21 | Packet-level logging should now work properly in Unix Plink. check-in: e3ba678484 user: simon tags: trunk | |
| 07:20 | Fix command-line error handling in pterm. (Hint: wrapping a multi- statement macro in `do ... while (0)' and putting a `continue' within it don't go well together. Oops.) check-in: e60a008b47 user: simon tags: trunk | |
| 03:37 | Substitute `-' (magical hyphen) for `\-' (inert minus sign) in the manpage. Fixes Debian bug #167761. check-in: 275a40ba95 user: simon tags: trunk | |
|
2002-11-03
| ||
| 02:46 | Half of Lars Gunnarsson's iXplorer compatibility patch: the PSFTP login prompt should be fflushed (presumably fgets fails to implicitly do this when stdin and stdout are redirected weirdly). check-in: 989155997f user: simon tags: trunk | |
|
2002-11-02
| ||
| 10:27 | Probably about time we mentioned the nascent Unix port in the FAQ. Not that I desperately want to shout about it just yet, but I feel a bit bad about the FAQ saying `we don't have a Unix port, anyone who told you so was wrong'. :-) check-in: fcf7cbe8bc user: simon tags: trunk | |
| 10:16 | Improve shadow bold mode: set the default shadow bold offset to +1 not -1 (it turns out _most_ X fonts prefer the former, though irritatingly my favourite real X font used to prefer the latter which was why I made the X version of my Font Of Choice do so too), and also clip to the boundaries of the rectangle we should be drawing text in. This still doesn't completely prevent display corruption in the case where text drawn in one sweep is partially overwritten in a future one, but gnome-terminal has this problem too, and now we've got the right default SB offset _and_ offer the opportunity to reconfigure it I think this is pretty good for now. check-in: 3114a70d88 user: simon tags: trunk | |
| 10:05 | Another signal-handling refinement from RJK: the SIGCHLD handler should be prepared to reap more than one child per invocation if necessary, since we do after all have two. check-in: 66d4a347b6 user: simon tags: trunk | |
| 09:23 | Improve the noise collection for the internal random pool. check-in: 3848a0c712 user: simon tags: trunk | |
| 08:35 | RJK's general signal-handling robustness patch. Should fix the weird spin behaviour occasionally seen after pterm's child process dies. check-in: e1fb5ab154 user: simon tags: trunk | |
|
2002-11-01
| ||
| 15:50 | s/public/private/ spotted by Clint Hastings; also change a "public key" to "key pair" check-in: cccd0a4419 user: jacob tags: trunk | |
| 12:51 | Introduce program category U, for non-GTK-requiring Unix apps. Plink doesn't need to be linked with libgtk, libgdk, libX11 etc! check-in: a78f436a90 user: simon tags: trunk | |
| 12:51 | Prevent another segfault. Oops. check-in: f4b568638e user: simon tags: trunk | |
| 07:49 | .HLP files should be ignored as well. Oops. check-in: b204a23ad4 user: simon tags: trunk | |
| 07:37 | Add a .cvsignore for the Unix subdir check-in: 31b7ddbfc4 user: simon tags: trunk | |
| 07:36 | Improve handling of oobinline sockets; Plink in telnet mode now doesn't hang when you hit ^C, which is nice. I think a better solution would involve nonblocking sockets; as it stands it's a little dependent on what may be quirks of the Linux socket layer. check-in: 183065be03 user: simon tags: trunk | |
| 07:01 | Another valgrind-caught error. This one has apparently been there since the Dawn O' Time, and consisted of me putting the two halves of a short-circuiting bounds check the wrong way round: instead of `p_in_range && *p', I had `*p && p_in_range'. Oops. valgrind rocks. check-in: 431505c3e0 user: simon tags: trunk | |
| 06:59 | valgrind has caught two more uninitialised elements in the SSH context structure. I knew the Unix port would be a good idea! check-in: f50e29cc8f user: simon tags: trunk | |
| 06:55 | Implement access to the SSH agent. This ought to make agent forwarding work as well, of course. check-in: 49ef903377 user: simon tags: trunk | |
| 06:54 | Replace a \r\n with an ordinary \n - this isn't Windows! check-in: fc9f9f2883 user: simon tags: trunk | |
| 06:54 | Stop the segfault on failure to resolve a host name. check-in: 9ed197e873 user: simon tags: trunk | |
| 06:54 | Add a \n at the end of an error message - oops. check-in: 76e0288a44 user: simon tags: trunk | |
| 06:53 | Move an output newline to make username entry in Plink/SSH2 look more sensible. check-in: e58385f685 user: simon tags: trunk | |
| 06:53 | Pass int rather than char to va_arg (the latter gets promoted). check-in: 811ba17fbe user: simon tags: trunk | |
| 06:52 | Split a trigraph sequence in a string constant. check-in: 3387cf424e user: simon tags: trunk | |
|
2002-10-31
| ||
| 13:49 | First attempt at a Unix port of Plink. Seems to basically work; doesn't yet use the SSH agent, no way to specify arbitrary config options, no manpage yet, couple of other fiddly things need doing, but it makes SSH connections and doesn't fall over horribly so I say it's a good start. Now to run it under valgrind... check-in: b651a46968 user: simon tags: trunk | |
|
2002-10-30
| ||
| 12:22 | RJK's `pterm --help' patch. I _must_ find a better alternative to this init sequence - it surely can't be right that `pterm --help' with no DISPLAY complains at the lack of DISPLAY rather than giving a help message! check-in: 8cab4c281e user: simon tags: trunk | |
| 12:17 | RJK's `make install' patch for the Unix makefile. check-in: 869607cc8f user: simon tags: trunk | |
| 12:12 | Further deglobalisation: settings.c now has a more sensible interface. check-in: ae09f4f6ac user: simon tags: trunk | |
| 12:12 | Fix some consts. check-in: 3ae4c6e626 user: simon tags: trunk | |
| 11:57 | More preparatory work: remove the <windows.h> include from lots of source files in which it's no longer required (it was previously required in anything that included <putty.h>, but not any more). Also moved a couple of stray bits of exposed WinSock back into winnet.c (getservbyname from ssh.c and AF_INET from proxy.c). check-in: 28f44ea3f8 user: simon tags: trunk | |
| 11:56 | Preparatory work before attempting a Unix port of plink: mkfiles.pl needs to be able to handle separate Recipe entries for the same program with different types (plink [C] and plink [X] for example, with different object lists). check-in: 8e93ab2438 user: simon tags: trunk | |
|
2002-10-29
| ||
| 10:54 | Yikes - put back a #include I accidentally removed two revs ago! That'd have been embarrassing. Mind you I'd like to remove this particular #include for good anyway, but the time is not now... check-in: 8742d8ab57 user: simon tags: trunk | |
| 08:41 | Hmm. Probably best initialise mainchan as well; oops. check-in: 67b3ab0447 user: simon tags: trunk | |
| 07:05 | Try actually initialising ssh->v1_compressing. With any luck this will be what was causing Owen's crash report today. check-in: ba0e8fb0ef user: simon tags: trunk | |
|
2002-10-28
| ||
| 15:58 | terminal.c should call the frontend beep() routine even with mode==BELL_VISUAL, otherwise taskbar flashing won't happen on visual bells. It's up to the frontend routine to spot BELL_VISUAL and avoid making any noise. check-in: 29d816b14b user: simon tags: trunk | |
| 11:39 | CloseOnExit now defaults to COE_ALWAYS for pterm, bringing it back into line with most other xtermalikes. On Unix, the exit code of a shell is the last exit code of one of its child processes, even if it's an interactive shell - so some pterms will close and some will not for no particularly good reason. Power-detaching a screen session is especially bad for this. COE_NORMAL is still useful for specialist purposes (running a single command in its own pterm), but I don't think it's a sane default, unfortunately. check-in: 5b5dba3625 user: simon tags: trunk | |
| 11:34 | Fix Alt+numberpad in pterm. For a start, there was a bug whereby if a pterm came up while Alt was down, then releasing it would cause a ^@ to be generated. Also, though, I've decided that Alt plus a single numberpad key should not generate a low-numbered control code, because that's too easy to do by mistake and the codes are too powerful. Anyone who really _wants_ to create a ^C or ^D from the numberpad can do Alt-03 or Alt-04 easily enough; two-digit codes and more such as Alt-65 are unaffected. check-in: d50e64724d user: simon tags: trunk | |
| 11:30 | Another deglobalisation bug: failed to initialise term->curstype. Thanks to valgrind for finding this one (aha! I knew there would be benefits from doing a Unix port!). check-in: 39c761da90 user: simon tags: trunk | |
| 03:38 | First bug discovered as a result of global-removal: pasting into pterm caused a crash because I had the wrong prototype for the selection_received event handler. Should be fixed. check-in: 2b272e1f86 user: simon tags: trunk | |
|
2002-10-27
| ||
| 03:24 | Arrgh! _Another_ missed commit. I really must do something about this bad habit of mine :-/ check-in: cbbd653fe6 user: simon tags: trunk | |
|
2002-10-26
| ||
| 09:06 | Retire another global in favour of adding a feature to the terminal.c interface. check-in: 13567ae2ad user: simon tags: trunk | |
| 07:58 | Yet more global-removal. The static variables in logging.c are now absent, and also (I think) all the frontend request functions (such as request_resize) take a context pointer, so that multiple windows can be handled sensibly. I wouldn't swear to this, but I _think_ that only leaves the Unicode stuff as the last stubborn holdout. check-in: 8fba443d8c user: simon tags: trunk | |
| 07:42 | Richard points out that it would probably help if I committed ldisc.h. Bah. :-) check-in: fc513a6cb8 user: simon tags: trunk | |
| 06:23 | X forwarding authentication is now invented on a per-SSH-connection basis, so the statics are gone from x11fwd.c. check-in: f79eb3364d user: simon tags: trunk | |
| 06:12 | Fix proxy.c so that the static variables become const. check-in: a5d6220305 user: simon tags: trunk | |
| 06:08 | Reorganised the Unicode layer somewhat: moved luni_send and lpage_send out into the line discipline, making them _clients_ of the Unicode layer rather than part of it. This means they can access ldisc->term, which in turn means I've been able to remove the temporary global variable `term'. We're slowly getting there. check-in: 457ce6905a user: simon tags: trunk | |
| 05:33 | Port forwarding module now passes backend handles around properly. As a result I've now been able to turn the global variables `back' and `backhandle' into module-level statics in the individual front ends. Now _that's_ progress! check-in: 06cff2eb6c user: simon tags: trunk | |
| 05:16 | Line discipline module now uses dynamically allocated data. Also fixed one or two other minor problems. check-in: d16199ae68 user: simon tags: trunk | |
|
2002-10-25
| ||
| 17:00 | Oops; remembering to call term_provide_resize_fn in the Unix front end would probably help. Thanks Colin. check-in: 40732d161f user: simon tags: trunk | |
| 08:26 | The Zlib module now uses dynamically allocated contexts. I think that completes the static-removal in the crypto library. Ooh. check-in: d666740d70 user: simon tags: trunk | |
| 08:08 | Diffie-Hellman key exchange now uses a dynamically allocated context. check-in: 28d1810cc5 user: simon tags: trunk | |
| 08:00 | Fix some compiler warnings. check-in: faa5c4fe6e user: simon tags: trunk | |
| 07:59 | Tidy up and fix a compiler warning. check-in: 409a2fa882 user: simon tags: trunk | |
| 07:58 | SSH CRC attack detector now uses a dynamically allocated context. check-in: 45540e784d user: simon tags: trunk | |
| 07:51 | SSH2 MACs now use dynamically allocated contexts. check-in: fb0d4d686d user: simon tags: trunk | |
| 07:35 | SSH ciphers now use dynamically allocated contexts. check-in: f12024de9a user: simon tags: trunk | |
| 06:58 | Fix the nasty flashing-light-grey-on-resize problem, after MCV helpfully alerted me to the existence of gdk_window_set_background(). check-in: 5fa48e3449 user: simon tags: trunk | |
| 06:50 | pty backend now supports the changed function interface, so pterm now compiles and runs again after the major destabilisation. Unfortunately it wasn't feasible to actually encapsulate all of the pty backend's data, since the utmp helper and the need to fork and drop privileges before doing anything else at all rather confuses matters. So the data handle passed around to the pty backend is a null pointer, and the pty backend is just as global-ridden as it always has been. Shame, but such is life. check-in: feb8faf680 user: simon tags: trunk | |
| 06:30 | Major destabilisation, phase 2. This time it's the backends' turn: each backend now stores all its internal variables in a big struct, and each backend function gets a pointer to this struct passed to it. This still isn't the end of the work - lots of subsidiary things still use globals, notably all the cipher and compressor modules and the X11 forwarding authentication stuff. But ssh.c itself has now been transformed, and that was the really painful bit, so from here on it all ought to be a sequence of much smaller and simpler pieces of work. check-in: 92e8b2cec5 user: simon tags: trunk | |
|
2002-10-24
| ||
| 09:48 | Need to stub frontend_keypress() in console.c as well as window.c. check-in: da3de94483 user: simon tags: trunk | |
| 09:12 | Oops - repercussions of the close-on-exit stuff which I forgot to check in. I must stop doing my Unix checkins in the Unix subdir :-( check-in: 74f4ced28a user: simon tags: trunk | |
|
2002-10-23
| ||
| 09:24 | Minor compiler nits: - use smalloc/sfree, not malloc/free - include <ctype.h> - include <string.h> (although this doesn't shut the compiler up about non-ANSI stricmp/strnicmp) check-in: 358caa17e7 user: jacob tags: trunk | |
| 09:21 | Implement handling of all Close On Exit modes. Default is to close only on clean exit, which is a departure from most xterm-alikes but Ian reckons people will love me for it. If this turns out to be wrong, we can always change the default for Unix. check-in: e33f2e8338 user: simon tags: trunk | |
| 09:03 | Fixes for (Backend)->size() changes -- internal declarations didn't include new arguments and neither did internal calls. check-in: f41c1604fd user: jacob tags: trunk | |
| 08:46 | Remove apparently unnecessary declaration of typedef Config from winstuff.h -- it was breaking mingw builds (gcc being more picky than Visual C). check-in: dbc6f05d2a user: jacob tags: trunk | |
| 07:41 | Cleanups from yesterday's destabilisation: lots of stuff in terminal.c was apparently relying on implicit initialisation to zero, and also I've removed the backends' dependency on terminal.h by having terminal sizes explicitly passed in to back->size(). check-in: 4bdb37398f user: simon tags: trunk | |
| 04:11 | Oops. Forgot to check in terminal.h from yesterday's work. There's always one :-/ check-in: 4c7c6ce91d user: simon tags: trunk | |
|
2002-10-22
| ||
| 11:11 | Major destabilisation, phase 1. In this phase I've moved (I think) all the global and function-static variables out of terminal.c into a dynamically allocated data structure. Note that this does not yet confer the ability to run more than one of them in the same process, because other things (the line discipline, the back end) are still global, and also in particular the address of the dynamically allocated terminal-data structure is held in a global variable `term'. But what I've got here represents a reasonable stopping point at which to check things in. In _theory_ this should all still work happily, on both Unix and Windows. In practice, who knows? check-in: c56a5fa8ee user: simon tags: trunk | |
| 08:27 | Make -ut work the right way round! :-) check-in: b42bbd8274 user: simon tags: trunk | |
| 08:26 | Stop `pterm -ut-' leaving the unnecessary utmp helper as a zombie process (Debian bug #165887). check-in: 9a67f6a55f user: simon tags: trunk | |
| 05:31 | Thanks to Richard B for pointing out that xterm has its own variants of the alternate-screen and save-cursor control sequences, with subtly different semantics and entertaining interactions with the usual ones. No thanks to xterm for doing so in the first place :-( This checkin should sort it all out. check-in: c17e8cfefd user: simon tags: trunk | |
| 04:40 | Justin Bradford's patch for increased proxy robustness. check-in: 76e58c77c8 user: simon tags: trunk | |
|
2002-10-21
| ||
| 18:01 | Make sure SIGINT and SIGQUIT haven't been nobbled in our child process by weird POSIX-required shell behaviour. check-in: 179d3e66f2 user: simon tags: trunk | |
| 18:00 | Don't bother closing fds 0-2 before dup2ing over them; there's no need, and it means we always have a valid open stderr. check-in: e44f39631e user: simon tags: trunk | |
| 17:59 | VT100 line drawing characters should only happen between 0x5F and 0x7E, not everywhere else. Silly me thought nobody would bother to depend on this :-) check-in: 9f5e3fc49d user: simon tags: trunk | |
|
2002-10-20
| ||
| 08:23 | Implement Richard's really clever idea about bell overload mode: it's automatically deactivated by any keypress, so that command-line beeps from (e.g.) filename completion don't suddenly stop occurring, but it still provides a rapid response to an accidental spewing of a binary to your terminal. check-in: 89a7cd7830 user: simon tags: trunk | |
| 07:44 | ScrollOnKey wasn't working because I failed to set seen_key_event in pterm.c. check-in: ba3068e889 user: simon tags: trunk | |
|
2002-10-18
| ||
| 10:26 | Reject unrecognised command-line options; thanks rjk. check-in: 6b1f39e18f user: simon tags: trunk | |
| 05:38 | Fix typo in man page. Thanks Richard. check-in: f623806109 user: simon tags: trunk | |
|
2002-10-17
| ||
| 11:58 | Oops - that fix wasn't _quite_ right, since it killed all non-function keys completely :-/ check-in: 13faee9f62 user: simon tags: trunk | |
| 11:51 | Make the shadow bold offset configurable, after discovering that 7x13 goes the other way to all other X fonts I've ever seen. (Arrgh.) check-in: 4245aa8933 user: simon tags: trunk | |
| 11:45 | This should fix the bug causing Alt-Shift to generate Escape. check-in: 2163edba1a user: simon tags: trunk | |
|
2002-10-16
| ||
| 17:54 | Add the -xrm command-line option, to allow specification of an arbitrary X resource which doesn't have a dedicated command-line option. check-in: a258b8a88b user: simon tags: trunk | |
| 17:43 | Add a man page. check-in: f1505a5669 user: simon tags: trunk | |
| 11:32 | Temporarily change the default for cut-and-paste of line drawing characters, under Unix only, because the stub Unicode layer makes the usual default break moderately painfully. check-in: 2ef611e291 user: simon tags: trunk | |
| 11:00 | A few more command-line options. check-in: c544ce865f user: simon tags: trunk | |
| 09:32 | Oops, forgot to add BoldFont to the settings module. check-in: 53b9f89c82 user: simon tags: trunk | |
| 09:32 | Implement reading of X resources, and -name to change the name under which to look them up. check-in: dc7f9c04de user: simon tags: trunk | |
| 07:30 | Add a file to the source archive mentioning the version number of the latest release. This is so that .tar.gz snapshots for the Unix port can be versioned as `0.53-20021016' or similar, meaning that (e.g.) Debian version numbering can be monotonic between releases and snapshots. check-in: 0372c5661c user: simon tags: trunk | |
| 07:17 | Fix utmp and pty handling so that GTK never complains about running set[ug]id. All privs-requiring pty operations are done at the very start of the run, then privs are dropped before initialising GTK. Utmp is handled by forking a still-privileged subprocess at this point, and later asking it (through a pipe) to stamp utmp. The subprocess cleans up utmp on exit, which has the additional advantage that if the main pterm process suffers some sort of unexpected termination (up to and including SIGKILL) the subprocess can still mop up utmp. check-in: 7f9a81d03e user: simon tags: trunk | |
| 06:35 | Fix for `hostname-whitespace'; thanks to Justin Bradford. check-in: 39093dcc64 user: simon tags: trunk | |
| 04:40 | Bug `shift-backspace': whichever of ^H and ^? is configured for Backspace, Shift-Backspace should do the _other_ one. Thanks to Justin Bradford. check-in: 74ba290d86 user: simon tags: trunk | |
| 04:28 | Oops - check in leftovers from yesterday's development. That's what I get for running most of my cvs commands in the unix subdir :-/ check-in: 2d5d551feb user: simon tags: trunk | |
|
2002-10-15
| ||
| 13:42 | Support bold-as-font, by means of a separate bold font (if one was supplied) or shadow bolding (if not). As usual, can't yet be turned on without a recompile. check-in: b2569827d3 user: simon tags: trunk | |
| 13:36 | Configure the pty so that it agrees with our idea of whether Backspace sends ^H or ^?. check-in: 8a75f4f208 user: simon tags: trunk | |
| 13:18 | Support underline and vertical-line cursors as well as block. check-in: 3931a8354d user: simon tags: trunk | |
| 12:41 | If we can't load the specified font, give an error message rather than segfaulting. check-in: d6f20644bd user: simon tags: trunk | |
| 12:38 | Printer support: cfg.printer is assumed to be a Unix command through which to pipe printed data. Of course by default printing is disabled; typically cfg.printer would be set to `lpr', perhaps with some arguments. check-in: 50eaa1e2b3 user: simon tags: trunk | |
| 12:24 | Scrollbar can now be configured to go on the left (although the current configuration mechanism doesn't support it). check-in: 94f7e9d448 user: simon tags: trunk | |
| 12:18 | Support ALT + numeric keypad for typing in strange character codes. check-in: 5a7aebaff7 user: simon tags: trunk | |
| 11:52 | Add newline at EOF in uxucs.c. Thanks Richard. :-) check-in: 206255935f user: simon tags: trunk | |
| 11:50 | Support scrolling with the mouse wheel (X servers apparently usually send a button 4 press for an upward wheel movement and a button 5 press for a downward one). Untested since my own trackball's button 4 does nothing obvious. Someone with a mouse wheel should give this a workout. check-in: 622fd3d843 user: simon tags: trunk | |
| 11:40 | Fixes to terminal.c to support blinking and visual bells under Unix. check-in: b34b6047b5 user: simon tags: trunk | |
| 11:38 | Support for blinking text and blinking cursor. Won't actually be accessible until there's a way to configure it on, but it worked in tests. check-in: a0a5506f59 user: simon tags: trunk | |
| 11:24 | Use the appalling gnome-terminal hack for server-controlled resizes rather than the gtk_window_set_policy approach; the GNOME people say that the former is the Right Thing in spite of the latter looking obviously plausible. check-in: 6cb6d56d5f user: simon tags: trunk | |
| 10:44 | Remove some rogue diagnostics. check-in: 842a63a48e user: simon tags: trunk | |
| 10:16 | Don't forget to initialise the pixel size parameters of the window as passed to the pty... check-in: f47218505b user: simon tags: trunk | |
| 09:58 | Richard's patch to fix `make clean' under Unix. check-in: 93fe7922e6 user: simon tags: trunk | |
| 09:55 | Richard's patch to make the scrollbar configurably absent. (Still want a new option to configure it to be on the LHS though. And some lunatic is bound to ask for an xterm-style scrollbar too... :-) check-in: c816ac1e38 user: simon tags: trunk | |
| 09:31 | Support for all the server-side window configuration requests, including server-controlled resizing. Irritatingly I've had to use a deprecated option to gtk_window_set_policy() to make this work, resulting in me raising GNOME bug #95818 to ask for it to be un- deprecated again... check-in: ef25478d2b user: simon tags: trunk | |
| 08:07 | Introduce the ability to control whether the shell run in pterm is a login shell or not. Also moved these new pieces of configuration into the Config structure, though they won't stay there forever since they will need to be moved out into platform-dependent config. check-in: 889a957cfd user: simon tags: trunk | |
| 07:42 | Finish up utmp processing: add the -ut- command-line option to suppress stamping it at all. (I suppose this ought to be part of the cfg structure really.) check-in: 48d2913a94 user: simon tags: trunk | |
| 07:29 | Support for utmp, wtmp and lastlog. Probably not terribly portable as yet, but seems to work plausibly on Linux. check-in: 04380af359 user: simon tags: trunk | |
| 05:52 | Deal with the warnings generated when passing a pointer-to-enum to gppi as a pointer-to-int. check-in: b55c35f796 user: simon tags: trunk | |
| 05:49 | Support for BSD-style pty devices. Tested under Linux; might need minor tweaks to run under other BSD-style OSes. check-in: 29530e8f6a user: simon tags: trunk | |
| 04:30 | Trim wide text properly at the RH edge of the screen. check-in: 1d7a84f45a user: simon tags: trunk | |
|
2002-10-14
| ||
| 19:22 | Support for line attributes: ESC #3, #4 and #6 for double-width and double-height text. check-in: 3a57c840d6 user: simon tags: trunk | |
| 18:39 | Don't cause the mouse pointer to reappear just because it's changed shape. check-in: b5dce740cb user: simon tags: trunk | |
| 18:32 | Only engage a GTK idle function when absolutely necessary, otherwise the whole app spins on it and takes up CPU all the time. check-in: 7a5991bb3f user: simon tags: trunk | |
| 17:14 | Set up the palette _before_ trying to paint the window black. check-in: 65d1404fa3 user: simon tags: trunk | |
| 05:33 | Add the -log option, which activates full session logging. Should be handy next time I need to debug any weird terminal problems... check-in: c3440c092b user: simon tags: trunk | |
| 05:29 | Bell overload was working in principle, but wasn't scaled to Unix's greater time resolution. Oops. check-in: 924bd61e8e user: simon tags: trunk | |
| 05:21 | Support server requests for colour palette changes. check-in: 12a36f9ab5 user: simon tags: trunk | |
| 05:14 | Don't forget to call term_paste() when we get the chance, or big pastes won't go through. (Not sure whether I should remove this weird behaviour completely for pterm. It's a bit bizarre.) check-in: 03a780c15b user: simon tags: trunk | |
| 05:06 | Support NetHack keypad mode. :-) check-in: e8759a8b36 user: simon tags: trunk | |
| 04:58 | Support for hiding the mouse pointer on keypresses. Currently activated by `-hide' on the command line. check-in: 26a987d390 user: simon tags: trunk | |
| 04:18 | xterm-class programs should exit when their primary child process dies, rather than waiting around until the last open handle on the pty closes. check-in: fe669158ac user: simon tags: trunk | |
| 04:06 | SEL_NL is different between Windows and Unix; move it out into the platform-specific header files. check-in: 85f63b0224 user: simon tags: trunk | |
| 04:04 | Oops. Defining max() the wrong way round was breaking rect select. check-in: d0017c34d9 user: simon tags: trunk | |
| 03:56 | Various faffs in the pty allocation process to get controlling terminals right. Irritatingly this was working when run from another [xsp]term but not when run from my GNOME panel. I think it's now more robust. check-in: ed8734df95 user: simon tags: trunk | |
|
2002-10-13
| ||
| 19:05 | Window title configurability: -T to set it from the command line, support for the xterm escape sequences to set it, and support for the xterm escape sequence to query it. check-in: bcb2aa106a user: simon tags: trunk | |
| 18:57 | Don't forget to set $TERM when we spawn the pty. Of course I haven't noticed this until now because I've always been spawning it _from_ another xterm! :-) check-in: d49f2941d0 user: simon tags: trunk | |
| 18:48 | gnome-terminal insists on receiving the selection as COMPOUND_TEXT rather than STRING, so we can now supply that too. Pasting both ways between pterm and gnome-terminal now works. check-in: 525fd6d0f4 user: simon tags: trunk | |
| 07:54 | Added two simple command-line arguments: -fn (so I can have my Font Of Choice back :-) and -e to run a command other than $SHELL. check-in: 7a2269ba51 user: simon tags: trunk | |
| 07:44 | Resizing of pterm now works, and the size information is correctly sent on to the pty. check-in: 2fb4abdb44 user: simon tags: trunk | |
| 07:17 | Deal with the appalling mouse pointer colours. (Why doesn't GTK let us select our own mouse pointer fg and bg for standard pointers? It's ludicrous that we can only do it for pixmap-derived ones. :-( ) check-in: c8de8d4871 user: simon tags: trunk | |
| 06:27 | Shift-Ins pastes. check-in: 4b2f26182c user: simon tags: trunk | |
| 06:24 | Selection now supported in pterm. Required small modifications outside the unix subdir, owing to more things needing to become platform-dependent. check-in: e4d89ad7c0 user: simon tags: trunk | |
| 04:57 | Fix underline, which I cleverly broke while adding support for the window border. Oops. check-in: ebd5e8cfd3 user: simon tags: trunk | |
| 04:54 | Scrollbar now exists and functions; so do Shift-PgUp / Shift-PgDn. check-in: 3bcb27e451 user: simon tags: trunk | |
| 03:56 | The Great Defaults Change (and about time too)! SSH now defaults to protocol 2, and background-colour erase now defaults to on. check-in: 1f6b063eb7 user: simon tags: trunk | |
|
2002-10-11
| ||
| 07:29 | Initialise some members of the Proxy_Socket structure that were left uninitialised. This problem only showed up with mingw builds of PuTTY (maybe MSVCRT is more forgiving with malloc initialisation than CRTDLL?). The 'error' field was causing me most trouble, and I think the other two were necessary too before things started working. Note however that I don't fully understand the code, and that there are more uninitialised fields in the structure. check-in: d8e30b5284 user: jacob tags: trunk | |
|
2002-10-10
| ||
| 09:42 | Stop hard-coding a nonstandard font. We now default to `fixed', and pick up the font's real width and height. This means I now _can't_ use my font of choice until I implement some command-line options; I wonder what feature will appear next :-) check-in: 3628bd7d8c user: simon tags: trunk | |
| 09:39 | Update to reflect 0.53 release. check-in: 79f1b92c1c user: jacob tags: trunk | |
| 07:40 | And that's it! pty.c is now a real pty backend rather than a loopback interface; pterm now runs $SHELL and gives every impression of being not a bad terminal emulator. I'm quite pleased with that. :-) check-in: df838b2e56 user: simon tags: trunk | |
| 07:14 | Half-decent keyboard handling for pterm. Not very well done - it would have been better to abstract the general key-handling rules away from the platform-specific keysyms rather than doing clone- and-hack as I've done - but it'll serve for now. Now all I need is a real pty back end and pterm should be a just-about-usable prototype. check-in: 85cfc8acc0 user: simon tags: trunk | |
| 06:33 | Temporary hack which makes vt100 line drawing work in the prototype pterm. check-in: a571f42c1a user: simon tags: trunk | |
| 05:40 | A sensible minimum of do_text() and do_cursor() is now implemented. This means pterm actually _looks_ like the PuTTY terminal emulator engine, instead of merely giving evidence to the expert eye that said engine is hidden in there somewhere :-) check-in: 3d9a36b500 user: simon tags: trunk | |
|
2002-10-09
| ||
| 13:09 | First phase of porting. pterm now compiles and runs under Linux+gtk. The current pty.c backend is temporarily a loopback device for terminal emulator testing, the display handling is only just enough to show that terminal.c is functioning, the keyboard handling is laughable, and most features are absent. Next step: bring output and input up to a plausibly working state, and put a real pty on the back to create a vaguely usable prototype. Oh, and a scrollbar would be nice too. In _theory_ the Windows builds should still work fine after this... check-in: 2d8039929a user: simon tags: trunk | |
|
2002-10-07
| ||
| 17:21 | Oops. Dirsep in Makefile.cyg should be / not \. check-in: fb7695beb0 user: simon tags: trunk | |
| 12:43 | Remove "-log" option from Plink. AFAICT this code has been dead since Roman Pompejus' improved logging (Jan 2001). check-in: a0a2b7568d user: jacob tags: trunk | |
| 12:31 | Fix pscp-cmdline-port-bug for PSFTP too. (Also removes what appears to be a gratuitous re-implementation of the "-l user" option.) check-in: 17d1c99570 user: jacob tags: trunk | |
| 11:52 | Fix code which was clobbering people's -P arguments in PSCP (moved it to before the deferred command line processing). Also removed a couple of unused variables. check-in: a1e4761e51 user: jacob tags: trunk | |
| 11:45 | Begin destabilisation in the wake of 0.53! This checkin contains the beginning of a Unix port. It's nowhere near done, and currently it won't even compile on Unix. But this represents the start of the process of separating out platform-specific code, and also contains the mkfiles.pl changes required to support a Unix makefile and a non-flat source tree. check-in: 1baf2504b1 user: simon tags: trunk | |
|
2002-10-01
| ||
| 13:30 | Remove last vestiges of `buggymac' in the Config structure. Might have been cause of a Plink bug since it no longer got initialised. check-in: 53f6591e2e user: simon tags: trunk | |
| 12:27 | Bump the version number on the installer script. check-in: c32f0eba5b user: simon tags: trunk | |
| 11:27 | Add a chapter explaining common error messages check-in: a03fe734a9 user: simon tags: trunk | |
|
2002-09-26
| ||
| 13:37 | Add a new SSH2 bug: some servers apparently claim to be able to do DH group exchange, but choke when you actually try it. Never automatically enabled; manual control only. check-in: 1f07089633 user: simon tags: trunk | |
| 13:01 | Any application using non-modal dialogs must use IsDialogMessage in its main message loop, otherwise keyboard accelerators will not work in the dialogs. I MUST NOT FORGET THIS AGAIN. check-in: f27b8e7e8a user: simon tags: trunk | |
| 12:57 | If the user asks for the Pageant key list window and it's already present, bring it to the front. check-in: b48429d153 user: simon tags: trunk | |
|
2002-09-24
| ||
| 14:27 | Finish replacing `Network error' with `Proxy error' throughout proxy code. check-in: 4ffa7303ca user: simon tags: trunk | |
| 13:44 | Add a missing space in an error message. check-in: faeaee8977 user: simon tags: trunk | |
|
2002-09-23
| ||
| 04:55 | Add context help support for Proxy panel check-in: 712c459cab user: jacob tags: trunk | |
|
2002-09-21
| ||
| 11:52 | Cleanups to proxy code: greater robustness in receiving proxy data, better error reporting for SOCKS 5 and HTTP proxies. check-in: 842273612c user: simon tags: trunk | |
| 11:07 | Support username/password authentication in SOCKS 5. check-in: 8ec7225e99 user: simon tags: trunk | |
| 09:03 | Support username and password authentication when talking to HTTP proxies. check-in: 67128cfa54 user: simon tags: trunk | |
|
2002-09-20
| ||
| 13:57 | Update README to make it clear it's a _source_ README. check-in: b7747e0bae user: simon tags: trunk | |
| 13:57 | Initial checkin of PuTTY installer script and associated files. check-in: 3d34fcadbe user: simon tags: trunk | |
| 12:54 | Use memcpy rather than strncpy in sk_addrcopy! How did that happen? check-in: 4b5b64e694 user: simon tags: trunk | |
|
2002-09-15
| ||
| 17:18 | Jordan Russell's mysterious workaround for an almost equally mysterious Windows GDI bug. Looks unlikely to cause any other trouble and it's pretty small, so it can go in. check-in: 42fa4ba837 user: simon tags: trunk | |
| 08:31 | Be proactively pedantic about channel-close irregularities: we no longer just sit there like a lemon if we can't find the channel in question, we bomb out and complain. With any luck, remaining problems of this type should be easier to catch under this policy. check-in: ab762b8245 user: simon tags: trunk | |
| 08:24 | Improvements to SSH1 channel close handling: track sending and receiving of CLOSE and CLOSE_CONFIRMATION separately rather than taking short cuts. I believe ssh-1.2.33 sending CLOSE_CONFIRMATION before CLOSE was causing the remaining incidences of bug `nonexistent-channel'. (ssh-1.2.33 appears to have unilaterally decreed that CLOSE and CLOSE_CONFIRMATION are respectively renamed INPUT_EOF and OUTPUT_CLOSING, hence there is no longer an ordering constraint on them. Bah.) check-in: 973da1f5cd user: simon tags: trunk | |
| 08:21 | Log file tinkering: copy Event Log entries into the SSH packet log, so that when people send us a packet log they never forget to send the Event Log alongside it :-) check-in: 019c881e88 user: simon tags: trunk | |
|
2002-09-14
| ||
| 05:24 | OpenSSH vs OpenSSL Q: mention older OpenSSH versions check-in: 248bdf7692 user: jacob tags: trunk | |
|
2002-09-12
| ||
| 11:05 | Semi-bug "long-usernames": Bump username storage from 32 to 100 chars. Also replaced a couple of magic numbers with sizeof in ssh.c. I don't believe this is going to startle any of the protocols PuTTY talks. check-in: 1a39e619f8 user: jacob tags: trunk | |
|
2002-09-11
| ||
| 12:30 | Updated usage messages for command-line utilities to reflect new options. Updated manual to reflect reality (e.g. usage messages, '-p port' not actually implemented, sprinkle references to '-i keyfile'). (I've put "Release 0.53" in the messages; let's hope this doesn't cause a flood of "where is 0.53?" email.) I don't guarantee that the result is entirely sane and sensible in all respects, but it is at least consistent. check-in: 8165c812b8 user: jacob tags: trunk | |
|
2002-09-10
| ||
| 07:30 | Note about separate client-server and server-client encryption in SSH-2 check-in: c753f62b98 user: jacob tags: trunk | |
|
2002-09-08
| ||
| 08:28 | Introduce the Bugs control panel, for overriding PuTTY's server version number checks to determine the presence or absence of server bugs. check-in: 748d581331 user: simon tags: trunk | |
| 08:25 | Update to reflect the last batch of proxy stuff we got from Justin Bradford. check-in: 9d618c33f1 user: jacob tags: trunk | |
|
2002-09-07
| ||
| 07:27 | Increase length limit on SSH1_MSG_DEBUG; 70 chars is short enough to lose vital information in some existing servers' messages. check-in: d6aae5e38d user: simon tags: trunk | |
|
2002-09-02
| ||
| 08:47 | After trying a succession of tests on Jacob's machine, I think I've finally isolated the _important_ difference between Romano Trampus's working printing.c and my failing one: he ignores the error return from the first exploratory how-big-does-my-buffer-need-to-be call to EnumPrinters(), because not having enough buffer space counts as an error condition. Hence I am officially a klutz, but this should now work. (Also reverted ENUM_LEVEL to 1, again, because that seems to be the choice of people whose code works.) check-in: 61ff40d80b user: simon tags: trunk | |
| 08:04 | Mention PocketPC in the WinCE question. I'm not sure how similar WinCE and PocketPC are, though -- perhaps it merits its own question. (Although I don't know of anyone who's looked into it yet.) check-in: fbf45efbb9 user: jacob tags: trunk | |
|
2002-09-01
| ||
| 08:12 | I'm rapidly running out of patience for trying all possible combinations of options to EnumPrinters() to see which one works, but here's another one tried at random for now. *sigh* check-in: 0680fdc776 user: simon tags: trunk | |
|
2002-08-18
| ||
| 04:27 | Add BUG_SSH2_DERIVEKEY, present (according to OpenSSH) in ssh.com versions 2.0.*, and causing the shared secret not to be included in key derivation hashes. (This doesn't quite cause a blatant security hole because the session ID - _derived_ from the shared secret - is still included.) check-in: 3926a303ff user: simon tags: trunk | |
| 04:10 | In SSH2, if decrypting the packet length gave us a negative value, subsequent packet-receiver code would fail to notice anything was wrong and segfault. Since this is clearly a silly packet length anyway, we now explicitly reject it as a daft encryption error. check-in: c4a931b9c1 user: simon tags: trunk | |
|
2002-08-15
| ||
| 09:59 | Changed wording of OpenSSH vs bad OpenSSL FAQ so that it's more obvious it applies to 3.4p1. check-in: e3ca79cb06 user: jacob tags: trunk | |
|
2002-08-12
| ||
| 09:08 | Alter the Feedback page, so that instead of saying `at some point we plan to start blocking executable attachments' it now says we _do_ block executable attachments. :-) check-in: a941cdf400 user: simon tags: trunk | |
|
2002-08-11
| ||
| 08:02 | Final fixes to keyboard-interactive so it now works with packets containing more than one prompt instead of less than one, and also correctly enables echo on prompts that the server requests it for. In the process I've moved the whole username/password input routine out into its own function, where it's called independently of which SSH protocol we're using, so this should even have _saved_ code size. Rock! check-in: 24d0aa25e9 user: simon tags: trunk | |
| 07:17 | Anecdotal evidence suggests that a single EnumPrinters() call specifying both PRINTER_ENUM_LOCAL and PRINTER_ENUM_CONNECTIONS catches more printers in some circumstances than two EnumPrinters() calls each specifying just one of them. We'll try it for a bit; if it goes wrong I might have to put back the two original calls as well and sort out some means of removing duplicate printers from the list. check-in: 928ce21464 user: simon tags: trunk | |
|
2002-08-09
| ||
| 04:14 | Actually, VirtualLock() looks better as \cw{} not \c{}. check-in: c30968c54c user: simon tags: trunk | |
| 04:11 | Add two more FAQs: `why don't you use VirtualLock()' and `are you based on OpenSSH'. check-in: 9d65ceabbf user: simon tags: trunk | |
|
2002-08-08
| ||
| 12:03 | ssh.com 3.2.0 uses zlib sync flush (start and close an empty uncompressed block at the end of each compressed packet) which we were embarrassingly unable to deal with because we assumed every uncompressed block contained at least one byte. Particularly silly because I _knew_ about the existence of sync flush when I coded this module. Arrgh. Still, now fixed. check-in: 826438c7fa user: simon tags: trunk | |
|
2002-08-07
| ||
| 14:20 | Document all the new command-line stuff. check-in: 57c582a771 user: simon tags: trunk | |
| 14:09 | Arrgh, we can't have -p for port number because we're already using it for preserving file attributes in PSCP! Ah well; looks as if that's one where we'll have to agree to differ with OpenSSH. check-in: 7e90e87344 user: simon tags: trunk | |
| 13:43 | Some of the new options shouldn't be available in the file transfer tools. check-in: df30dee415 user: simon tags: trunk | |
| 13:08 | Fix Halibut syntax error (oops). check-in: 68b76f620a user: simon tags: trunk | |
| 12:57 | Oops. Didn't quite get the new SSH protocol selection code right. *blush* check-in: d5f0c03954 user: simon tags: trunk | |
| 12:55 | Add a load of new command-line options pilfered from OpenSSH. Full list is: -A, -a, -X, -x, -T, -t, -C, -1, -2, -i keyfile. check-in: 3dc74c6868 user: simon tags: trunk | |
| 12:48 | Add an option to force SSH1 protocol only. Partly for symmetry; mostly because I'm about to want it for the -1 command line option. check-in: a87a66409f user: simon tags: trunk | |
| 12:29 | Clean up the argv splitter, and in particular stop it from bombing out ignominiously when given no arguments :-) check-in: 2b9d1f1799 user: simon tags: trunk | |
|
2002-08-06
| ||
| 12:57 | Pageant's command line handling now uses my new split_into_argv() function, because it's silly to have two (and because the old one was not the same as the new one, violating the Principle of Least Surprise). check-in: 40423b941a user: simon tags: trunk | |
| 12:48 | PuTTYgen will now start by loading a private key file if one is provided on its command line. check-in: c3af1e66ed user: simon tags: trunk | |
| 12:35 | Oops. That is to say, only loading and saving of PuTTY private keys should default to .PPK - loading and saving of public keys and of foreign key formats still defaults to All Files. Ahem. check-in: 67bb09d557 user: simon tags: trunk | |
| 12:27 | Now that we've decided on a file extension for private key files (.PPK), make it the default in all the private-key file dialogs. check-in: d49eafa9b5 user: simon tags: trunk | |
|
2002-08-05
| ||
| 05:35 | Buttress is now Halibut: change the docs makefile. check-in: d58645e39d user: simon tags: trunk | |
| 05:35 | Make it clear that we're only responsible for our own web site, and people should contact mirror admins for problems with mirrors. check-in: e27f739511 user: simon tags: trunk | |
|
2002-08-04
| ||
| 16:18 | Revamp of command-line handling. Most command line options should now be processed in cmdline.c, which is called from all utilities (well, not Pageant or PuTTYgen). This should mean we get to standardise almost all options across almost all tools. Also one major change: `-load' is now the preferred option for loading a saved session in PuTTY proper. `@session' still works but is deprecated. check-in: 6e2207da2f user: simon tags: trunk | |
|
2002-08-03
| ||
| 11:22 | Fix culpable lack of generality in keyboard-interactive authentication: a k-i request packet can contain any number of auth prompts (including zero!) and we must ask the user all of them and send back a packet containing the same number of responses. FreeBSD systems were sending a zero-prompts packet which was crashing us; this now appears fixed (we correctly return a zero-responses packet) but I haven't tested a multiple-prompts packet because I can't immediately think of a server that generates them. check-in: 2678a20dff user: simon tags: trunk | |
|
2002-07-09
| ||
| 06:34 | OpenSSH/OpenSSL versioning problems: as of 3.4p1 this is _still_ not entirely fixed. check-in: 5dda0cf55f user: jacob tags: trunk | |
|
2002-06-25
| ||
| 13:51 | Forgot to call fxp_init() in `pscp -ls' mode under SFTP. check-in: bb04719c42 user: simon tags: trunk | |
|
2002-06-17
| ||
| 11:45 | Failure to initialise a local variable was leading to free(garbage) on loading an OpenSSH key and getting the wrong passphrase. check-in: 3eeccc764c user: simon tags: trunk | |
|
2002-06-15
| ||
| 11:52 | One of the recent port forwarding crash reports contained details which suggested bufchain_prefix() was finding an improperly initialised bufchain structure. Looking at the code, this may indeed have been able to happen, since the bufchain in a SOCKDATA_DORMANT channel was not initialised until CHANNEL_OPEN_CONFIRMATION was received. This seems utterly daft, so I now call bufchain_init() when the channel structure is actually created. With any luck the crash will mystically disappear now (I wasn't able to reproduce it myself). check-in: 6e2c2cce2c user: simon tags: trunk | |
| 11:31 | Padding on the end of the encrypted data in OpenSSH key format was broken: the OpenSSL EVP layer specifies a very particular form of padding, which I wasn't generating because it hadn't occurred to me that it might be mandatory. Irritatingly this was causing our exported OpenSSH keys to load perfectly happily back in through our OpenSSH import routines, but to be rejected by OpenSSH proper. Sigh. check-in: 6623e565a3 user: simon tags: trunk | |
| 10:37 | Small memory allocation bug in openssh_encrypted() fixed. check-in: 463604eca5 user: simon tags: trunk | |
|
2002-06-08
| ||
| 04:00 | Modify the Feedback page / Appendix B to expand the section about not sending us large attachments, and in particular remove the emphasis on screen shots in the hope of also decreasing the number of _other_ large attachments we get. check-in: 712fdd4664 user: simon tags: trunk | |
|
2002-05-31
| ||
| 12:39 | Workaround for the SSH2 RSA padding bug in OpenSSH 2.5 - 3.2 inclusive. Padding is accomplished by rewriting the signature blob rather than at the point of generation, in order to avoid having to move part of the workaround into Pageant (and having to corrupt the agent wire protocol to allow PuTTY to specify whether it wants its signatures padded!). check-in: 7a4afe7b5e user: simon tags: trunk | |
|
2002-05-30
| ||
| 07:41 | Fix AltGr/Application/Compose/CtrlAlt discrepancies introduced in windlg.c rev 1.118 [r1033] (pointed out by Rob Pitman). check-in: de3aa67d0b user: jacob tags: trunk | |
|
2002-05-23
| ||
| 17:02 | Trying to use an SSH2 key with an SSH1 connection seems to be quite common, so I've added a FAQ. check-in: 7572c5d251 user: jacob tags: trunk | |
|
2002-05-22
| ||
| 16:18 | Note that answerback string can contain control characters with ^C notation, and the ^~ escape, but don't go into the gory details. check-in: a8fffb9835 user: jacob tags: trunk | |
|
2002-05-18
| ||
| 04:20 | UI changes for key imports. We now have a separate Load command and Import command; the former warns you if you load a foreign key, whereas the latter doesn't. So the user should always be aware, one way or the other, that a format conversion is taking place. check-in: 2cf1ef8dbd user: simon tags: trunk | |
|
2002-05-17
| ||
| 07:33 | ieof-for-nonexistent-channel problem: avoid comparing an unsigned with -1 check-in: 9832c81afd user: simon tags: trunk | |
|
2002-05-16
| ||
| 17:36 | Nit: PuTTYgen can generate RSA _and DSA_ keys check-in: 7dd851e21a user: jacob tags: trunk | |
|
2002-05-15
| ||
| 15:07 | Final cleanups on key import/export work. Rationalised the UI (so that menu options are greyed out helpfully) and added documentation. check-in: 08285efb5d user: simon tags: trunk | |
| 14:16 | Added export of ssh.com key files. check-in: c1a44eb091 user: simon tags: trunk | |
|
2002-05-14
| ||
| 13:11 | Implemented export of OpenSSH keys. check-in: d43d5163af user: simon tags: trunk | |
|
2002-05-13
| ||
| 11:56 | Add some basic framework code preparatory to adding key export. check-in: 43c3b91680 user: simon tags: trunk | |
| 11:48 | Update FAQ to mention ssh.com key importing check-in: 0d41be3d2e user: simon tags: trunk | |
| 11:37 | Be more careful about destroying sensitive data after private key load/store/import operations. check-in: fbb61c5a99 user: simon tags: trunk | |
| 11:32 | Add import of ssh.com private keys. check-in: e22787ee8c user: simon tags: trunk | |
|
2002-05-11
| ||
| 11:45 | Added a framework for importing foreign key formats, and implemented importing of OpenSSH SSH2 private key files (both encrypted and unencrypted). Seems to work fine. check-in: b7502058f0 user: simon tags: trunk | |
| 08:12 | Remove tiny unnecessary faff in new SSH-2-only code check-in: afee84cb9a user: simon tags: trunk | |
| 08:08 | SSH2 only support check-in: 9cc8742e75 user: owen tags: trunk | |
| 08:03 | Added SSH2 only support. check-in: 9f710e4c31 user: owen tags: trunk | |
| 07:13 | Improved error messages if you use the wrong key type: you should now be told that the key is the wrong type, _and_ what type it is, rather than being given a blanket `unable to read key file' message. check-in: 9f93ab88b5 user: simon tags: trunk | |
|
2002-04-27
| ||
| 11:30 | Removed the old Visual C++ master makefile, since it has now been superseded by the new Recipe / mkfiles.pl mechanism. check-in: 8003f4c3f0 user: simon tags: trunk | |
| 11:20 | Additions to the Feedback page to emphasise that we can't answer all our mail any more, and to encourage support questions to be sent elsewhere as a first resort. check-in: d58918be8c user: simon tags: trunk | |
| 10:01 | SOCKS proxy support added (next instalment of Justin Bradford's proxy work). SOCKS 5 username/password authentication still unsupported. check-in: 12982b75cc user: simon tags: trunk | |
|
2002-04-18
| ||
| 17:23 | Added comments to document '-gui' Windows messages, based on putty-bugs post <E14g2ty-0008WN-00@ixion.tartarus.org> (except for Ryan Finnie's extra messages). check-in: 1f3fc1c1eb user: jacob tags: trunk | |
| 15:45 | Added documentation of PuTTY command-line options (derived from the source) check-in: 852da43114 user: jacob tags: trunk | |
|
2002-04-10
| ||
| 14:54 | The SFTP form of PSCP should remember to send FXP_INIT! Oops. check-in: 4868a1912f user: simon tags: trunk | |
|
2002-04-03
| ||
| 12:24 | Mention that numeric code pages can be entered manually in the Translation box. check-in: 871adbb898 user: simon tags: trunk | |
|
2002-04-01
| ||
| 09:18 | Add a couple of extra FAQ entries. check-in: 645db2c88e user: simon tags: trunk | |
|
2002-03-31
| ||
| 10:28 | The console version of askappend() completely forgot to check cfg.logxfovr to see whether the user had already specified what should happen to log files. Fixed. check-in: 7a188749df user: simon tags: trunk | |
| 10:26 | Fix major memory leak in sftp_cmd_ls (thanks to Hans-Juergen Petrich for pointing it out). check-in: d8cae6eb26 user: simon tags: trunk | |