Timeline

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

65 check-ins using file unix/pterm.c version f0dd399441

2004-11-25
07:40
uint64_decimal() incorrectly output 0 as "" instead of "0". This only affected PSFTP's "reput" chat. Spotted by Greg Parker. check-in: b78a11829c user: jacob tags: trunk
2004-11-24
14:35
Re-architected the top level of the SSH protocol handlers. ssh1_protocol() and ssh2_protocol() are now high-level functions which see _every_ SSH packet and decide which lower-level function to pass it to. Also, they each support a dispatch table of simple handler functions for message types which can arrive at any time. Results are: - ignore, debug and disconnect messages are now handled by the dispatch table rather than being warts in the rdpkt functions - SSH2_MSG_WINDOW_ADJUST is handled by the dispatch table, which means that do_ssh2_authconn doesn't have to explicitly special-case it absolutely every time it waits for a response to its latest channel request - the top-level SSH2 protocol function chooses whether messages get funnelled to the transport layer or the auth/conn layer based on the message number ranges defined in the SSH architecture draft - so things that should go to auth/conn go there even in the middle of a rekey (although a special case is that nothing goes to auth/conn until initial kex has finished). This should fix the other half of ssh2-kex-data. check-in: 3ffc78a463 user: simon tags: trunk
13:53
random_init() should be called at most once during the running of PuTTY, even if it's managing multiple sessions. check-in: 39b712e47a user: simon tags: trunk
13:23
Now that Packet structures are dynamically allocated, it means we can keep several of them in parallel. In particular, this allows us to queue outgoing packets during repeat key exchange, to be actually sent after the rekey completes. (This doesn't fully fix ssh2-kex-data; also required is the ability to handle _incoming_ connection-layer packets during rekey without exploding.) check-in: be91e5a407 user: simon tags: trunk
12:45
Minor refactoring: the fields `pktin' and `pktout' in the Ssh structure have been retired. Now all Packet structures are dynamically allocated. Each rdpkt function allocates one, and it's freed after being used; and the packet construction functions allocate them too, and they're freed by the send functions. `pktin' and `pktout' were ugly. They were _morally_ still global variables; even though they were replicated per SSH session to comply with the Mac no-globals requirement, they weren't really in the _spirit_ of `dynamically allocate your data'. As a side effect of this change, the `pktout_blanks' and `pktout_nblanks' fields in the Ssh structure have been moved into the Packet structure. check-in: 55fff29d00 user: simon tags: trunk
05:42
I think rjk meant `setpgid', not `setpgrp'. check-in: ef747fcdbc user: simon tags: trunk
05:36
RJK's OS X portability patch: - initialise blank mbstate_t using memset rather than an ad-hoc initialiser. - expand the OMIT_UTMP ifdefs to enclose a load of entire functions that would generate `static function never called' warnings if left as empty shells. - couple of other fiddly things. check-in: d8510637ed user: simon tags: trunk
05:35
It's probably about time I took my private path to the Halibut binary out of the PuTTY docs Makefile. Instead, I expect to find Halibut as simply `halibut' on the PATH, and anyone who doesn't have it there can always do `make HALIBUT=/path/to/halibut'. check-in: ba11d868ac user: simon tags: trunk
2004-11-23
21:18
\k --> \K check-in: b32223caeb user: jacob tags: trunk
10:43
Darek Olszewski points out that telnet->ldisc is never initialised to NULL. check-in: 72fd066536 user: simon tags: trunk
2004-11-22
07:49
Fix typo in term_size(), flagged by a Dr Watson log from Temme Rainer. check-in: a66ea5ad2e user: simon tags: trunk
06:42
Minor index tweakery. check-in: 23767676d8 user: simon tags: trunk
05:02
Trivial bug fix pointed out by Paul Fox: potentially missing fclose(). check-in: 3c03a1f730 user: simon tags: trunk
2004-11-20
13:07
Add missing backslash in "Unable to create registry key" messages. check-in: ce7d538ed6 user: jacob tags: trunk
12:29
UI tweak from Malcolm Rowe: set IDM_VIEWKEYS as the default menu item and use that mechanism to invoke it on double-click; this emboldens it in the right- click menu. check-in: 75eace3be5 user: jacob tags: trunk
11:47
XXX comment in the logic which sends failed password auth back to username prompt for keyboard-interactive. I suspect we should do the same with that method (especially given the apparent number of systems that use it for regular password auth), but in the absence of systems to test against I've not actually made the change. (I'm worried that the `partial success' field might not be set correctly in a multi-stage authentication, for instance.) check-in: 1de0f52527 user: jacob tags: trunk
11:11
As a result of the policy allowing changes of username to reset the authentication state, a failed `password' authentication in SSH-2 was sending us back to trying `none' and `keyboard-interactive' each time round, which uses up OpenSSH's quota of authentication attempts rather quickly. Added a check for `cfg.change_username' to the logic which sends us back to the start. check-in: ad08d145bf user: jacob tags: trunk
2004-11-19
15:24
Make PSFTP use console_get_line() to fetch username, so that that prompt is affected by `-batch'. check-in: 26e5debddb user: jacob tags: trunk
15:05
console_get_line() returns failure iff console_batch_mode is set, whereas before is would return success and the empty string. IMO this makes `-batch' much more useful; before, utilities such as Plink in `-batch' mode would attempt to plough on using empty strings for usernames, passwords, and so on. check-in: 85f4e4b0c4 user: jacob tags: trunk
14:57
Remove FLAG_INTERACTIVE test from "login as:" prompt. Kelly John Carney pointed out that Plink would attempt to use a zero-length username iff a remote command was specified (because the FLAG_INTERACTIVE test was erroneously combined with the no-username test). I don't think this will break non-interactive use; in the cases which behave differently, Plink would be attempting to use the empty username, which was almost certainly wrong, whereas now it will give a prompt (which can be avoided with -batch as usual). (Although perhaps we should attempt to use a local username as a guess for the remote username, as PSCP does? I've not done this.) check-in: 052f19dc36 user: jacob tags: trunk
2004-11-18
13:44
"Connection reset by peer" is apparently not the only error that keepalives can help with. check-in: 2ba2803830 user: jacob tags: trunk
13:41
"Software caused connection abort": a couple of people now have got rid of this with keepalives. Also try to emphasise that this seems to be a generic catch-all type of error. check-in: e7ccea5765 user: jacob tags: trunk
11:13
*sigh* X11 forwarding to a local display (":0" or similar) specified in the environment rather than the configuraton was failing as of 0.56 (introduced in r4604). This probably only bit users of Unix PuTTY. Didn't spot in testing as I was forwarding to already-forwarded displays. I really wasn't having a good month that month, was I? check-in: 02e36a55f2 user: jacob tags: trunk
09:16
Add an extra appendix to the manual containing PuTTY's (hitherto) unwritten design principles, so would-be contributors won't have to either read our minds or pay _very_ close attention to the code. check-in: 795c13d68b user: simon tags: trunk
05:30
Move MODULE files out of individual project directories into a MODULES top-level directory, which is where the Tartarus website scripts will (hopefully) start reading them from. check-in: 1e22c22481 user: simon tags: trunk
2004-11-17
12:27
mkunxarc.sh was still including (mostly empty) .svn directories, and that in turn was confusing the new doc/Makefile mechanism. Fixed the former, and also put an additional safeguard in the latter in a belt-and-braces sort of fashion. check-in: 79d77aaf06 user: simon tags: trunk
12:16
Now we use Subversion, it seems excessive to have an individual $Id$ line for every single .but file at the bottom of each page of the HTML PuTTY docs. However, we can't _always_ replace that with a single SVN revision, because there isn't always one available (SVN still allows mixed working copies in which some files are deliberately checked out against a different revision). Hence, here's a mechanism for doing better. It uses `svnversion .' to determine _whether_ a single revision number adequately describes the current directory, and replaces all the version IDs with that if so. If it can't do that, it uses the version IDs as before. Also, this allows an explicit version string to be passed on the make command line which will override _both_ these possibilities, so that release documentation can be clearly labelled with the release version number. check-in: ca9c212395 user: simon tags: trunk
02:02
Fix mksrcarc.sh for directory reorganisation. check-in: 1f75bbb07c user: simon tags: trunk
2004-11-16
17:58
pedantic s/CVS/Subversion/ check-in: 1e7235c40e user: jacob tags: trunk
17:32
Some tweaks for Subversion and windows/ subdir. check-in: b16f306be1 user: jacob tags: trunk
17:26
Fix Windows installer script: the paths were wrong after the directory reorganisation, and also the EOL style needs to be CRLF or Inno Setup gets upset. check-in: 1ab925824c user: simon tags: trunk
16:14
Now that we have Subversion's file renaming ability, it's time at long last to move all the Windows-specific source files down into a `windows' subdirectory. Only platform-specific files remain at the top level. With any luck this will act as a hint to anyone still contemplating sending us a Windows-centric patch... check-in: a6928f6770 user: simon tags: trunk
12:01
Various changes related to the Subversion migration. check-in: a885a86071 user: simon tags: trunk
09:29
Remove .cvsignore files on all active branches. check-in: 5056e73ac2 user: simon tags: trunk
09:27
CVS revision numbers, stored as `cvs2svn:cvs-rev' properties, are a useful piece of history in this repository but we don't want to preserve their latest values on future commits. Accordingly, I'm deleting them from all active development (though not from past release branches). check-in: 804f5806a0 user: simon tags: trunk
2004-11-15
09:57
Mention that comp.terminals may also be a useful newsgroup. I've done this by centralising information about newsgroups in feedback.but and linking to that from elsewhere; I've also put in a link to Google Groups. check-in: 7f2bab7ad5 user: jacob tags: trunk
05:10
Miloslav Cempirek Ing points out that we should return from sessionsaver_handler after processing a one-click saved session launch, to protect against accidentally calling dlg_end twice on the same dialog. check-in: 4d04cab8ad user: simon tags: trunk
2004-11-11
03:40
I masked off LATTR_WRAPPED et al in do_text_internal(), but forgot to do the same in do_cursor(). Bet that's the cause of Andrey Borzenkov's cursor positioning bug. check-in: 58f5a1164f user: simon tags: trunk
2004-11-09
11:57
DJSD requests a force-monochrome option for users who dislike angry- fruit-salad applications :-) check-in: 33c221f28a user: simon tags: trunk
2004-11-02
17:06
Note upper limit of WM_SYSCOMMAND identifiers in a comment. check-in: 8c6f402124 user: jacob tags: trunk
17:06
Go back to using intervals of 16 for the saved session identifiers for the system menu, but expand from 256 entries to 1024 as there seems to be plenty of space. Also remove a couple of unused IDM_* constants. check-in: bea10e6972 user: jacob tags: trunk
16:30
Simon has reminded me _why_ menu identifiers were spaced every sixteen, so let's add a comment so that we don't forget again. Source: <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_syscommand.asp> check-in: 00c981a774 user: jacob tags: trunk
11:44
Since neither I nor Owen know why the IDM_ values for the saved-sessions submenu were going up in steps of 16, I've changed to steps of 1, thus increasing the possible number of sessions from ~256 to 4096, since a recent report seemed to indicate that the previous limit might not be enough for someone (!) I can't find any documentation that puts an upper limit on the number of menu items, and it seems to work on Win98, which is where I'd expect it to break if anywhere. Also a number of other tweaks to this code. check-in: 9dabd7d0df user: jacob tags: trunk
2004-11-01
08:18
Argh, I messed up SSH1 remote tunnels too (same mistake). check-in: 6ef518b9a5 user: jacob tags: trunk
2004-10-31
18:47
Ahem, let's not try initialising a static with a non-constant initialiser. Also, I'm pretty sure that adding a source address to a remote SSH-2 forwarding can never have worked, since we added an address string to the packet twice in that case. OpenSSH 3.4p1 certainly doesn't like it (`Server has disabled port forwarding' debug message). Fixed (and OpenSSH is happier now). check-in: fb4b938df2 user: jacob tags: trunk
18:17
Argh. Failure to make a variable static to get round coroutine mechanics means that each SSH-2 remote tunnel will sfree() something random and thus have a chance of crashing or doing something else bad, although it won't otherwise affect execution. Introduced in 1.319 [r4529] (some of my improved diagnostics). One day I'll make a checkin to ssh.c without forgetting about the coroutines... check-in: b5c42f2525 user: jacob tags: trunk
2004-10-27
19:23
Malcolm Rowe spotted that we broke display of SSH2_MSG_DEBUG messages while fixing `vuln-ssh2-debug', by missing out a field. In most cases (always_display = 0) we would log a zero-length or truncated message. (Also add a prototype for ssh2_pkt_getbool().) check-in: 911eda30fa user: jacob tags: trunk
10:50
Malcolm Rowe's UI tweak patch for About/Licence: recognise `Esc' to close windows (PuTTY, Pageant, PuTTYgen); Licence window parent in PuTTY. check-in: 267adc6657 user: jacob tags: trunk
2004-10-26
14:47
Good grief! I should create the `htmldoc' subdir in the release tree _before_ I create the md5sums files. I am a gibbon. check-in: 2ecfd9b02a user: simon tags: trunk
14:32
Add bumping version number on trunk to new post-release checklist. Also, sometimes `0.XX' is used in the docs as a placeholder for a version number. check-in: 5bfbc957d3 user: jacob tags: trunk
13:59
Merge version number bump (0.56) from release branch. check-in: b36810f643 user: jacob tags: trunk
13:44
Reorder a couple of points on the wishlist, and also add a few helpful chunks of `sh' to make life easier next time I make a release. check-in: 49204859d4 user: simon tags: trunk
2004-10-24
17:57
Add a note about documentation of the Unix port (i.e., we don't, specifically). This is mainly intended to make the documentation suitable for including in distributions such as the Debian package, but won't be amiss on the web site docs. It will look a bit out of place in the .HLP, but never mind. check-in: 89c758179e user: jacob tags: trunk
13:30
Mention -i. check-in: a9b40c286e user: jacob tags: trunk
13:26
Random tweaks: - change click-by-click advice on modifying saved sessions - add `Restart Session' as another reason you might not want to close the window on exit; other tweaks to this language - mention Shift-Backspace action - the window resizing configuration documentation was completely out of date; rewrite - add a note about Default Bold Background since it's caused confusion - "remote terminal" -> "remote system" in terminal-type doc check-in: 3cd1ba067c user: jacob tags: trunk
11:48
Freshness tweaks: - mention `Restart Session' - tweak language of `-N' (plural->singular) check-in: 0e995a94a2 user: jacob tags: trunk
11:24
Freshness tweaks: - soften language around changing-username-during-login section; with SSH-2 this is a misfeature of implementations rather than the protocol itself - tweak new-host-key dialog text check-in: 3206cdad9b user: jacob tags: trunk
10:58
Differences between protocols: remove the entire paragraph about environment variables. It was no longer true (given that we support them in SSH-2 now), and the new situation was probably too complex to explain in an introductory chapter. And the utility of setting them seems to be marginal these days given the lack of server support. check-in: 557443edea user: jacob tags: trunk
10:41
Mention PSFTP on title page check-in: 16816a48a2 user: jacob tags: trunk
2004-10-22
11:50
Better bounds checking in the exit-signal handler. check-in: b0f77e81a6 user: simon tags: trunk
11:47
We ought to be using the ssh_pkt_* routines for the messages which we process at any time in the rdpkt routines, as well as everywhere else. check-in: dcee5dd92a user: simon tags: trunk
2004-10-21
05:59
I just had a need to decode a piece of Zlib data from out of the middle of a PDF. So here's a modification to sshzlib.c which enables it to be compiled into a standalone Zlib decoder if you define ZLIB_STANDALONE. As an added bonus, it (both standalone and in PuTTY) also validates the Zlib header, just to make sure someone hasn't defined a new compression format. check-in: 2fd4126e27 user: simon tags: trunk
2004-10-19
08:54
Munge line-drawing description to match current naming and order of options (in the Windows version), and hopefully to clarify distinction between line charset and local font, which has occasionally foxed me. Cross-reference the Translation panel reference section from the intro section in using.but and mention line-drawing characters there also. check-in: 8e4659b566 user: jacob tags: trunk
2004-10-17
19:41
Add support for logging "exit-signal", why not. This is disgustingly huge because old versions of OpenSSH got the message format wrong, so we have to infer which format is in use. Tested with Debian stable OpenSSH (3.4p1), with `uint32' packet, and lshd, which uses the correct `string' packet, and also let me test "core dumped" and the explanatory message. check-in: 4b7166ef39 user: jacob tags: trunk
16:22
Support the SSH-2 mechanism for sending signals to a running session. Neither of the SSH servers I conveniently have access to (Debian stable OpenSSH -- 3.4p1 -- and lshd) seem to take a blind bit of notice, but the channel requests look fine to me in the packet log. I've included all the signals explicitly defined by draft-ietf-secsh-connect-19, but I've put the more obscure ones in a submenu of the specials menu; there's therefore been some minor upheaval to support such submenus. check-in: e613d9b7a0 user: jacob tags: trunk