Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
218 check-ins using file pscp.c version 36709148e9
|
2005-03-10
| ||
| 10:18 | Support multiple anchor name types now that Jacob has enhanced Halibut to be able to do so. check-in: 863778dc61 user: simon tags: trunk | |
| 04:07 | Protect against multiple Change Settings dialogues. We should probably also arrange to switch to an existing Change Settings if the user selects the menu item and we already have a Change Settings. check-in: 79b9658c13 user: owen tags: trunk | |
|
2005-03-08
| ||
| 17:06 | Ben Hutchings reports that new PuTTY instances created from the saved sessions menu (etc) can inherit listening sockets, and that this sometimes causes trouble. Can't reproduce any problems myself, but let's only allow inheritance when absolutely necessary -- Duplicate Session -- in which case there's already going to be trouble with two processes trying to listen on the same port. check-in: 6a0a90c90d user: jacob tags: trunk | |
| 08:20 | Miscellaneous tweaks. check-in: 0e3a67d55a user: jacob tags: trunk | |
|
2005-03-07
| ||
| 10:40 | Charlie at work points out that the screen FAQ contains a different - and probably better - solution to the screen-vs-alt-screen issue. Reference it and describe the fix. check-in: 022b555d74 user: simon tags: trunk | |
| 08:07 | `What commands can I type into my PuTTY session' is probably the single most frequently asked thing which isn't in the FAQ (it's in feedback.but instead), so let's add it. I'm uncertain that the people who mail us asking things like `how do I read my email' and `how do I access $database' will successfully recognise this more general question as one which includes their specific one, but it's worth a try. check-in: ef21549820 user: simon tags: trunk | |
|
2005-03-06
| ||
| 10:38 | Add notification when using the various auth methods with server-supplied prompts, to make it more obvious if a server is attempting to spoof a local passphrase prompt. I believe an alert user could have spotted this in all cases in SSH-2, although perhaps not in SSH-1. (But they'd have to have enabled TIS/CryptoCard.) check-in: 723767177f user: jacob tags: trunk | |
| 09:00 | Fix sense of test in previous checkin :) check-in: b98b0eb42e user: jacob tags: trunk | |
| 08:48 | I'm sick and tired of the persistent reports of lineptr() failing its `line != NULL' assertion, so I've replaced the assertion with a call to fatalbox() giving oodles of information. I may still not be able to reproduce it, but at least next time it happens we should see a decent amount of debugging data! check-in: 25281d58e9 user: simon tags: trunk | |
|
2005-03-05
| ||
| 12:14 | Over-enthusiastic assertions in the port forwarding code removed. Port forwardings are set up before initialising the last few details of the main shell session, so ssh->state can reasonably hold values other than SSH_STATE_SESSION and SSH_STATE_CLOSED during calls to sshfwd_*. check-in: cb0a6e9c46 user: simon tags: trunk | |
| 11:56 | Make sure we do notify_remote_exit(ssh->frontend) _before_ connection_fatal(), since the latter is entitled to destroy the backend so `ssh' may no longer be valid once it returns. For the Unix port, switch exit(0) to gtk_main_quit() in notify_remote_exit(), so that we don't exit before the subsequent connection_fatal()! check-in: 695d639fd8 user: simon tags: trunk | |
| 09:05 | Platform-independent fixes for NO_IPV6 compilation (prevent segfaults on trying to access pfd->addressfamily which doesn't exist). check-in: b4ba12b7a9 user: simon tags: trunk | |
| 09:04 | Fixes for NO_IPV6 compilation under Unix. check-in: 692140a743 user: simon tags: trunk | |
|
2005-03-03
| ||
| 19:54 | Fix potential fault where -L/-R/-D could accept a string too long for our portfwd[] array. (Not sure what would happen in this case, mind.) Also modify -L/-R/-D code to cope with IPv4/IPv6 tunnels in saved settings. check-in: 13a89da89b user: jacob tags: trunk | |
| 19:20 | rm some magic numbers in ssh_setup_portfwd() check-in: d2ef568fb3 user: jacob tags: trunk | |
| 19:02 | Fix minor imprecisions in cfg->portfwd[] bounds checking (which erred on the side of rejecting input, not buffer overflow). check-in: 88992e9df8 user: jacob tags: trunk | |
| 07:07 | Explicitly set MIN and TIME when in raw mode to request single characters with no timeout. This seems to make Plink work better on Solaris. check-in: 26d6125d5d user: ben tags: trunk | |
|
2005-03-02
| ||
| 17:33 | Draglists, implemented as up-down preference lists as in GTK. check-in: c7b9eac6fd user: owen tags: trunk | |
| 09:53 | More confusing "(BYTE *) & val" style punctuation. I blame GNU indent, although its confusion is understandable. check-in: 2674622249 user: jacob tags: trunk | |
|
2005-03-01
| ||
| 18:46 | nit: confusing punctuation check-in: edd34de4f8 user: jacob tags: trunk | |
| 18:31 | rm incorrect comment check-in: cfbbe3b7d4 user: jacob tags: trunk | |
| 17:48 | Fix off-by-one in memory management of PPK reading routine, which could cause 1-byte buffer overflow when reading .PPK files with long lines (>=128 bytes in header value -- probably only happened in practice in the comment field). check-in: ad221517bc user: jacob tags: trunk | |
| 15:38 | Close on exit. I'm not entirely happy with the distribution of this across mac_closeterm() and notify_remote_exit() but it will do for now. Also, "PuTTY (inactive)" looks strange as a Mac window title in a way it doesn't on Unix or Windows. Perhaps we should find another way of indicating that a window contains a dead session? check-in: bf0e93a2f1 user: owen tags: trunk | |
| 15:34 | Update Inno Setup script. Tested with IS 5.0.8 on Win98SE; I think there are a few things that will faze whatever we're using currently (2.0.19 or thereabouts?), but nothing desperately modern. (NB, the 0.57 putty.iss works fine with 5.0.8 and the installer is even 40k smaller.) Notable changes: - Uninstallation now runs a variant of `putty -cleanup'. The variance is only in the text displayed; the user is still prompted, and the default action is (now) "keep" in both cases. - Optionally add an icon in the Quick Launch bar. - Make desktop item optionally for all users. (not tested) - "Create a Start Menu group" now handled via IS' own mechanism. check-in: 9bde7a592f user: jacob tags: trunk | |
| 09:18 | Mention `-cleanup' caveats on multi-user systems. Mention installer in faq-cleanup. Fix indexing snafu. check-in: 78b1b62113 user: jacob tags: trunk | |
| 06:19 | VC didn't like PATH_MAX. Use MAX_PATH instead. (This macro is mentioned in MSDN's SetCurrentDirectory() documentation, although I haven't found a statement of where it's supposed to be defined.) check-in: 7c784b1894 user: jacob tags: trunk | |
|
2005-02-28
| ||
| 19:16 | Add context help to a couple of message boxes. Unfortunately the ones I wanted to get to -- "software caused connection abort" and friends -- are going to be more involved (probably requiring some cross-platform notion of help contexts), and these ones hardly seem worth the effort. Still, I've done it now. Side-effect: Pageant now uses the same `hinst' and `hwnd' globals as everything else. Tested basic functionality. check-in: ab8229cc93 user: jacob tags: trunk | |
| 18:33 | Make it clearer that `-m' is only usable with SSH. check-in: df6c8399fc user: jacob tags: trunk | |
| 18:00 | Move the MessageBox-with-help function out into winutils.c, although it's still only used for the host key popups. Side-effects: - requested_help is a winstuff.h global - Pageant now defines winstuff.h globals (Also, my previous fix to my improved host-key dialogs only got the "changed" case, not the "unknown" case. Some days I shouldn't be let near a keyboard.) check-in: 97227aaee6 user: jacob tags: trunk | |
|
2005-02-27
| ||
| 20:51 | Make things other than Pageant use request_file(), why not, although all of its funkiness is switched off so the behaviour is the same as before. check-in: baaeb6bb81 user: jacob tags: trunk | |
| 20:40 | Fix for `pageant-dirhandle': a new wrapper functions `request_file()' maintains a separate CWD for the file requester, so that when the Open File box is not open Pageant should stay where it was started. (Also some other minor cleanups in this area of Pageant.) check-in: 7496d44982 user: jacob tags: trunk | |
| 18:17 | PSFTP now needs wildcard.o, and was only getting it by luck. Make it explicit. check-in: 5d5c1a525b user: jacob tags: trunk | |
| 17:57 | Move SaneDialogBox()/SaneEndDialog() from winmisc.c to windlg.c, since they seem to be PuTTY(tel)-specific (at least at the moment). Might save a bit of space in the other binaries. check-in: 64cfacc518 user: jacob tags: trunk | |
| 17:15 | Improve Pageant's error reporting for private key load failures. check-in: c5b0d713e4 user: jacob tags: trunk | |
| 17:01 | Improvements to PuTTYgen error reporting: - will now display a reason when it fails to load a key - uses existing error return from native keys - import.c had a lot of error descriptions which weren't going anywhere; since the strings are probably taking up space in the binary, we may as well use them check-in: c5c5fb953d user: jacob tags: trunk | |
| 07:53 | Warn on close. Also warn before use. check-in: fb3994bdfe user: owen tags: trunk | |
|
2005-02-26
| ||
| 11:43 | Pull out the common compiler-specific workarounds and so on from individual resource files into windows/rcstuff.h. check-in: a7e0148dcb user: jacob tags: trunk | |
| 11:30 | Allow mkfiles.pl to put multiple verbatim sections in a Makefile, and use one of these for the MacOSX CFLAGS tweak. check-in: 8114bac791 user: jacob tags: trunk | |
| 09:50 | The comment that Private-Hash: was not allowed in DSS PuTTY-User-Key-File-1 keys was apparently incorrect; prior to r1413, it was both allowed, and generated for passphraseless keys. Remove it and associated validation so that people are able to load such keys into PuTTYgen to upgrade them, as suggested. check-in: 01e3b339bd user: jacob tags: trunk | |
| 09:13 | Fix segfault on forcible window closure. check-in: e868f0a0b5 user: simon tags: trunk | |
| 07:37 | Sort out close-on-exit, connection_fatal(), fatalbox(), and [SessionWindow dealloc] (which was required in order to avoid segfaulting when a redraw timer fired for a closed session window!). check-in: d4ced9b130 user: simon tags: trunk | |
|
2005-02-25
| ||
| 18:41 | We weren't correctly discounting "." and ".." when they came from FindFirstFile(), with hilarious consequences for recursive transfers in PSFTP. (PSCP appears to behave fine; it does its own "."/".." removal.) check-in: a539621666 user: jacob tags: trunk | |
| 15:26 | Makefile.lcc mentions version.o instead of .obj (not that it matters, probably) check-in: 5ef38b85b8 user: jacob tags: trunk | |
| 03:59 | Per Gunnar Floe spotted a reversed test in sftp_cleanup_requests(). check-in: a640094153 user: simon tags: trunk | |
|
2005-02-24
| ||
| 16:45 | Add RT_MANIFEST arguments to dependencies for Windows resource objects. check-in: 8cbeed95f5 user: jacob tags: trunk | |
| 14:28 | Some copyright dates that were missed in the Mac port. check-in: e28862c8f7 user: jacob tags: trunk | |
|
2005-02-23
| ||
| 15:19 | Support for setting some options like keepalive, oobinline, nodelay, and SO_REUSEADDR for ot_newlistener(). Also handle remote-initiated disconnections. check-in: 82fcf9c79a user: owen tags: trunk | |
| 03:25 | Fallout from my change in the semantics of cfg.remote_cmd_ptr. Spotted by Alano na Alania. check-in: 0859f5691b user: simon tags: trunk | |
|
2005-02-22
| ||
| 17:40 | A first attempt at listening sockets in Open Transport. check-in: 085e654286 user: owen tags: trunk | |
| 17:30 | Remove the two logevent calls passing NULL as the first argument. This was copied straight from winnet.c and I don't believe it's _ever_ been valid in the Unix front end. check-in: 996521bf9d user: simon tags: trunk | |
|
2005-02-21
| ||
| 17:43 | Rearrange verify_ssh_host_key() for robustness in the face of strangeness, in the same manner as windows/windlg.c (but tested this time :) check-in: 1a7f6315cd user: jacob tags: trunk | |
| 17:34 | Ahem. Fix my hostkey dialog fix so that storing the host key doesn't close the connection. check-in: dccead2ac0 user: jacob tags: trunk | |
| 12:13 | Make sure that auth->xdmseen is initialised (to NULL) even if it's not used. check-in: f576bf316d user: ben tags: trunk | |
|
2005-02-20
| ||
| 17:26 | Change "are you sure you want to close this window" default back to what it was ("yes"). Partly because it was inconsistent with gtkdlg.c, and partly because it was annoying me. check-in: dfe358ead7 user: jacob tags: trunk | |
| 17:00 | On Windows, MessageBoxIndirect() was sometimes failing to pop up the host key dialog and returning an unexpected value (0), causing everything to silently behave as if the user had said "allow this connection but don't store host key"! Initialising (MSGBOXPARAMS).hInstance seems to have cured this (although the MSDN docs seemed to indicate it wouldn't be used) -- if so, it's been broken since r5309 on 2004-02-15 -- but since this was something of a Heisenbug, and the behaviour was so catastrophic when MessageBoxIndirect() behaved oddly, I've rearranged the code to default to cancelling, and added an assertion for visibility. (Windows PuTTY still seems to be broken wrt servers that send NEWKEYS while we're waiting for the user, which happens to include the "SSH-2.0-2.4.1 SSH Secure Shell OpenVMS V1.0" I'm testing against. I don't know why. The above bug may also have been limited to this circumstance.) check-in: c2a87e26fb user: jacob tags: trunk | |
| 15:00 | Another failure to crStop(0) on user abort, this time for SSH-1 cipher askalg(). That should be the last one. check-in: 5d6cd77882 user: jacob tags: trunk | |
| 06:54 | Support the drop-down menu part of the editbox control (combobox). This cuts and pastes a lot of code from macctrl_popup, which perhaps should be consolidated. Also change the effective line codepage when it is changed with Change Settings. check-in: 02e5c18f57 user: owen tags: trunk | |
| 05:34 | README.txt needs CRLF line endings. check-in: 91eec3f336 user: simon tags: trunk | |
| 04:51 | Bump version numbers. (Forgot to do this _before_ dropping the 0.57 tag, but that's OK because SVN doesn't distinguish tags from branches anyway...) check-in: 3513ed7665 user: simon tags: trunk | |
| 04:30 | Additional robustness to SFTP packet parsing and memory allocation. check-in: 6e1691ecfd user: simon tags: trunk | |
|
2005-02-19
| ||
| 15:56 | Correct some comments based on feedback from Thomas Dickey. check-in: d2701c9e97 user: ben tags: trunk | |
| 09:53 | Grey the titles of group boxes when the config box is not frontmost. Edit box values still fail to be greyed. check-in: 96a56a0d0d user: owen tags: trunk | |
| 08:48 | Oops; missed out a crStop in the new host key verification code. check-in: db594ef974 user: simon tags: trunk | |
|
2005-02-18
| ||
| 19:20 | Log file open mode lost a "b" in r5344. Windows at least needs log files to be written in binary mode with the current code. check-in: 32af9a3e5a user: jacob tags: trunk | |
| 16:03 | New enum constant ERROR clashed with a macro in MinGW's wingdi.h. Use uglier names. check-in: 6514b4f779 user: jacob tags: trunk | |
| 12:35 | Add plain-Unix binaries to the `make clean' list in the OS X makefile. check-in: 61139cb104 user: simon tags: trunk | |
| 12:33 | Add asynchronous callback capability to the askappend() alert box. This was harder than verify_ssh_host_key() and askalg() put together, because: (a) askappend() can be called at any time, since it's a side effect of data-logging functions. Therefore there can be an unfinished askappend() alert at any time, and hence the OS X front end has to be prepared to _queue_ other alerts which occur during that time. (b) logging.c has to do something with data that comes in while it's waiting for an answer to askappend(). It buffers it until it knows what the user wants done with it. This involved something of a reorganisation of logging.c. check-in: 104367e90f user: simon tags: trunk | |
| 12:19 | A few more fixes in the new asynchronous-alert-box mechanism. check-in: a5d370224a user: simon tags: trunk | |
| 03:22 | We have a host key database, just not a very good one. check-in: 4cbbf22b3f user: owen tags: trunk | |
|
2005-02-17
| ||
| 13:31 | Adjust the semantics of cfg.remote_cmd_ptr: it is now NULL when cfg.remote_cmd is to be used, rather than actually pointing at cfg.remote_cmd. This change restores the ability to structure-copy Configs without breaking them. (Though of course this is only a temporary solution: really what wants doing is to fix `config-struct'.) check-in: ac54c8cf58 user: simon tags: trunk | |
| 12:56 | Ahem. Actually _checking_ that asynchronous askalg() worked would have been helpful. Since async verify_ssh_host_key() worked, I didn't think anything else could go wrong. How wrong I was. check-in: e84ffae719 user: simon tags: trunk | |
| 12:34 | Revamp interface to verify_ssh_host_key() and askalg(). Each of them now returns an integer: 0 means cancel the SSH connection and 1 means continue with it. Additionally, they can return -1, which means `front end has set an asynchronous alert box in motion, please wait to be called back with the result', and each one is passed a callback function pointer and context for this purpose. I have not yet done the same to askappend() yet, because it will take a certain amount of reorganisation of logging.c. Importantly, this checkin means the host key dialog box now works on OS X. check-in: 2b45db1342 user: simon tags: trunk | |
|
2005-02-16
| ||
| 20:00 | ssh_do_close() should close any listening sockets associated with port-forwardings. check-in: 8934c0e310 user: jacob tags: trunk | |
| 19:47 | ssh_do_close() was only closing about half the channels. Fixed. check-in: 835f964689 user: jacob tags: trunk | |
| 17:30 | On the Mac, support for setting the line codepage and for combining characters. I've just used libcharset in macucs.c since there seemed little reason not to, and implemented combining characters by naive overprinting. It's not yet a lot of use without the ability to select a font, of course. check-in: 694ac360c6 user: owen tags: trunk | |
| 06:13 | portfwd validation was sometimes not picking up a blank source port check-in: 88587bfc5b user: jacob tags: trunk | |
| 05:56 | Fix a minor valgrind issue in dynamic port-forwarding. check-in: 16a0978eb7 user: jacob tags: trunk | |
| 05:44 | Simon suggests a better solution to valgrind's complaining about (struct Socket_tag).connected -- it should be entirely irrelevant to listening sockets. Valgrind is still happy. check-in: be6e51d68c user: jacob tags: trunk | |
| 03:01 | Oops! Didn't mean to check in the OS X Makefile; that is of course built by mkfiles.pl just like all the rest. Well spotted, Jacob. check-in: 1ec5faee2f user: simon tags: trunk | |
|
2005-02-15
| ||
| 19:47 | Minor reorganisations to WinHelp support. (Done as part of a - failed - attempt to fix `winhelp-crash', but we may as well keep them.) check-in: 10431bbf1a user: jacob tags: trunk | |
| 17:39 | Update on Mac ports. check-in: 2013140e50 user: jacob tags: trunk | |
| 16:41 | Grouping boxes for the configuration dialogue. The System 7 version is completely untested so far, but the Appearance Manager version works and looks plausible. There are still some HI Guideline spacing issues to address. check-in: 4158a49ba3 user: owen tags: trunk | |
| 16:23 | The Windows host key dialogs now have a `Help' button that should give appropriate context help, iff the help file is present. (Shame it's prey to `winhelp-crash'.) (I've perpetrated a widening of visibility of `hwnd'; the alternative, putting it into a frontend handle, seemed too likely to cause maintenance trouble if we don't also _use_ that frontend handle everywhere we now use the global `hwnd'.) check-in: 277a81e93c user: jacob tags: trunk | |
| 15:45 | Initial checkin of a native Mac OS X port, sharing most of its code with the Unix port and layering a Cocoa GUI on top. The basics all work: there's a configuration panel and a terminal window, the timing interface works and the select interface functions. The same application can run both SSH (or other network) connections and local pty sessions, and multiple sessions in the same process are fully supported. However, it's horribly unfinished in a wide variety of other ways; anyone interested is invited to read README.OSX and wince at the length and content of its `unfinished' list. check-in: 9524a62065 user: simon tags: trunk | |
| 13:22 | Add a couple of other sensible button defaults in MessageBox()s. check-in: c96098badb user: jacob tags: trunk | |
| 13:10 | Martin Radford points out that the default action for the host key confirmation dialogs should be "cancel", not "accept". check-in: bb9c323321 user: jacob tags: trunk | |
| 11:05 | The terminal window can now indicate that PuTTY is busy in various ways, by changing its mouse pointer. Currently this is only used in the (slightly- arbitrarily-defined) "heavy" bits of SSH-2 key exchange. We override pointer hiding while PuTTY is busy, but preserve pointer-hiding state. Not yet implemented on the Mac. Also switch to frobbing window-class cursor in Windows rather than relying on SetCursor(). check-in: 14b560857a user: jacob tags: trunk | |
| 06:35 | Extra note on "connection reset by peer" on Windows. Note default circumstances of cipher warning. (I haven't bothered with the similar kex warning since it doesn't come up in the default configuration, and is in any case unlikely to be common.) check-in: d5c2714533 user: jacob tags: trunk | |
|
2005-02-14
| ||
| 09:30 | Initialise (struct Socket_tag).connected in sk_register(). Again, the value could do with review. check-in: df4a929685 user: jacob tags: trunk | |
| 09:03 | Initialise (struct Socket_tag).connected in sk_newlistener() since Valgrind complained. (I _think_ this is the correct initialisation.) check-in: 5c0134a833 user: jacob tags: trunk | |
| 05:43 | Martin Prikryl points out that we weren't always initialising new "addrinfo" members of Windows SockAddr_tag; particular in sk_nonamelookup() (proxy resolution at far end) this was causing trouble. Make sure they _always_ start out NULL (since the Windows getaddrinfo() documentation doesn't make any claims about initialisation), and also initialise 'naddresses' in sk_nonamelookup() for good measure. check-in: a61944970c user: jacob tags: trunk | |
| 05:07 | WSAECONNABORTED: Soften claims + emphasise applicability to established connections, based on KB 819124. check-in: 5e014e402c user: jacob tags: trunk | |
| 01:44 | Oh, and (there's always one) remove the unnecessary extra parameter from unix_setup_config_box(). check-in: afe9d5581e user: simon tags: trunk | |
| 01:41 | Saw uxcfg.c in half down the middle, to separate out config changes that apply to all Unix-like systems from those which apply specifically to the GTK front end. check-in: cae2b163bd user: simon tags: trunk | |
|
2005-02-12
| ||
| 18:00 | Display panel titles and grouping box titles. check-in: b5209b2944 user: owen tags: trunk | |
|
2005-02-11
| ||
| 12:01 | Tidy up the host key alerts a little, and swap the Just Once and Cancel buttons so that they appear in the standard action and cancel positions. check-in: 5ef74a6569 user: owen tags: trunk | |
|
2005-02-09
| ||
| 19:25 | Mention saving mid-session and some of its wrinkles. Formatting tweaks in the same general area. check-in: 5ef7f2f090 user: jacob tags: trunk | |
| 19:04 | Document effect of settings changes on existing connections/forwardings. Also mention that service names can be used instead of port numbers. check-in: db70d0d7eb user: jacob tags: trunk | |
| 19:03 | ssh_setup_portfwd() should usually be looking at the new cfg, not the old one, so that changes to port visibility are honoured in new forwardings. check-in: 2f298ec6aa user: jacob tags: trunk | |
| 18:16 | Slightly gratuitous logeventf() crusade and purge of fixed-length buffers. Also a bonus sfree(). check-in: 0e48334e09 user: jacob tags: trunk | |
| 15:18 | Add some host key dialogue boxes. These still look a little rough around the edges and need to have all their controls properly aligned and spaced according to the HI guidelines. Also, fix store_host_key() so that it replaces a host key correctly when the host key has changed and the user opts to update the cached one. check-in: 85f028418e user: owen tags: trunk | |
| 09:57 | Improve documentation of the SCP wildcard safety issue: in particular, mention that doing an SCP wildcard download into a clean directory is adequate protection against a malicious server trying to overwrite your files. check-in: 1cc7618cf9 user: simon tags: trunk | |
| 09:42 | Missing {Question} check-in: d58402dfbf user: jacob tags: trunk | |
|
2005-02-08
| ||
| 08:13 | We _really_ don't need to hear about WSAECONNABORTED any more. check-in: a698b14861 user: ben tags: trunk | |
| 06:40 | Mention that a common reason for keys' being rejected is dodgy permissions. check-in: fa7fd252a6 user: ben tags: trunk | |
|
2005-02-07
| ||
| 17:43 | Add the new mk.mpw to the ignore list. check-in: b4e5465141 user: simon tags: trunk | |
| 14:24 | Revert my LF->CR change following Owen's comment that it actually breaks netatalk-based setups (which _swap_ LF and CR). Instead, setfile.sh (which I have to run _anyway_ on OS X) copies mkputty.mpw to mk.mpw and then makes that CR-based. check-in: 80e340bcf7 user: simon tags: trunk | |
| 09:23 | Comment explaining location in top-level directory. check-in: f458beae5d user: jacob tags: trunk | |
| 06:23 | Petri Kero pointed out a FreeLibrary() call that should be guarded by NO_IPV6. check-in: 5ad1988749 user: jacob tags: trunk | |
| 04:47 | Add a comment about the deficiencies of the host key cache implementation. check-in: 66a04eea30 user: owen tags: trunk | |
|
2005-02-06
| ||
| 09:52 | Reinstate the broken -e option in pterm. Also I've just worked out a much better way of handling pty_argv which doesn't require uxpty.c to be linked in to Unix PuTTY and PuTTYtel. check-in: 0632fdc578 user: simon tags: trunk | |
| 09:14 | Encapsulated most of the pty backend's variables into a proper data structure, in preparation for wanting more than one of them in a single process. This can't be done cleanly, because the whole business with pty_pre_init pre-allocating the pty rather assumes we want a known number of the things before we drop privileges; so there's a horrid hack to make pty_pre_init work on platforms that have at most one pty instance per process, but at the same time things ought to work sensibly with more than one per process _if_ pty_pre_init isn't required. check-in: df1c22fdcb user: simon tags: trunk | |
| 09:00 | First stab at a host key cache on the Mac. check-in: 1d8e672a89 user: owen tags: trunk | |
| 07:33 | The pty backend won't _always_ be running under X, so it should be possible to compile it without the WINDOWID variable. check-in: 7b85fe471f user: simon tags: trunk | |
|
2005-02-05
| ||
| 09:33 | When allocating BSD-style ptys, we should not be satisfied with a /dev/ptyXX we can open: we must also check that we can open and use the corresponding /dev/ttyXX, because if it's been left in the wrong mode then we will look terribly silly when we fork and _then_ discover our pty is unusable. check-in: 04b0d0c117 user: simon tags: trunk | |
| 08:50 | Implement refreshing the whole dialogue box with dlg_refresh, so that if you load a session all the panels in the configuration dialogue reflect the new settings. However, there's a glitch which paints a white rectangle between the Saved Sessions listbox and the Close-on-exit radios. check-in: 8646a1479e user: owen tags: trunk | |
| 08:46 | Added a small shell script to run enough SetFile commands to make MPW builds work after checking out on Mac OS X. check-in: 80a92bc7ce user: simon tags: trunk | |
| 08:39 | This file needs to have CR line endings for MPW to be happy with it. check-in: 7eb218aa63 user: simon tags: trunk | |
| 04:55 | Mac PuTTY.ppc wouldn't compile for me until I added this prototype. Not sure why it's been working for Owen and not me, but the prototype ought to be there anyway, so *shrug*. check-in: 322f1d77de user: simon tags: trunk | |
|
2005-02-04
| ||
| 18:29 | Times and dates in the event log, fixing ltime() in the process. check-in: d6f5e385d3 user: owen tags: trunk | |
| 18:14 | mac_pollterm() is no longer useful and can be retired. check-in: 24b5193a6e user: owen tags: trunk | |
|
2005-02-02
| ||
| 17:51 | Implement anti-replay protection for XDM-AUTHORIZATION-1, as required by the specification. We keep a cache of tickets we've seen recently and reject duplicates. Once a ticket in our cache is old enough that we wouldn't accept a duplicate anyway, we expire it. check-in: 1d0e47190a user: ben tags: trunk | |
| 15:33 | Flashing things now work as a natural consequence of the timing interface. check-in: 2e1798a5cd user: owen tags: trunk | |
| 15:18 | Make ot_recv less voracious. check-in: 502fc43066 user: owen tags: trunk | |
| 13:56 | Update the configuration when the window is resized. check-in: 991b1e8bb0 user: owen tags: trunk | |
|
2005-01-30
| ||
| 08:59 | Hide/show the scrollbar check-in: f840505864 user: owen tags: trunk | |
| 08:10 | The HI guidelines seem adamant that the File menu should never be called anything but File, and two Mac users expressed profound distress at the thought of it being called Session. File it is. check-in: 4306c8d022 user: owen tags: trunk | |
|
2005-01-29
| ||
| 16:50 | Another compiler pickiness. It feels wrong to be doing this to perfectly idiomatic code, somehow, and I half wonder whether the Mac compilers are too stupid to be allowed to treat warnings as errors. check-in: ff9e65da30 user: owen tags: trunk | |
| 16:46 | Make Change Settings do something. check-in: c5bbbb4611 user: owen tags: trunk | |
|
2005-01-28
| ||
| 17:39 | Enable the Open Transport networking implementation unless NO_OT is defined. check-in: 5117367d1a user: owen tags: trunk | |
| 07:47 | Split discussion of diabling rekeys between time-based and data-based, since disabling the former is much more useful, and much safer, than disabling the latter. The new wording on data-based rekeys might need some polishing. check-in: 08df01e69b user: ben tags: trunk | |
| 05:50 | sfree the memory dupprintf allocated check-in: 76ee7d7459 user: owen tags: trunk | |
| 05:47 | Use AF_UNIX, not AF_LOCAL, since the former is in POSIX and the latter is not. check-in: c53b6f6ed8 user: ben tags: trunk | |
| 05:39 | Overhaul of client-side XDM-AUTHORIZATION-1: * Make sk_getxdmdata() return an arbitrary string rather than two integers. This better matches the spec, even if the current version always returns six bytes * On Unix, for PF_UNIX sockets, return a counter rather than a constant along with the PID. This should allow multiple clients to connect within one second, and is what Xlib does. * On Unix, interpret AF_INET6 addresses like Xlib does, returning the embedded IPv4 address for v4-mapped addresses, and six bytes of zeroes otherwise. The latter is silly, but if I'm going to do anything more sane I need to check that X servers won't reject it. check-in: e5bafedcaf user: ben tags: trunk | |
|
2005-01-26
| ||
| 17:49 | Buffer overruns are embarassing (even if caused by user error), so assert that this one can't happen until I actually fix it. check-in: a5f438af43 user: ben tags: trunk | |
| 17:30 | Add a Change Settings dialogue box. Doesn't do anything yet. check-in: 8115201999 user: owen tags: trunk | |
| 14:18 | Move sockaddr_is_loopback() to before sk_address_is_local(), and define the latter in terms of the former. Also adjust the definition of ipv4_is_loopback() to avoid using the non-standard inet_netof() and IN_LOOPBACKNET, and move it next to its remaining uses. check-in: 8ef41e7a61 user: ben tags: trunk | |
| 13:05 | Move sk_poll() inside (!gotevent), which is more logical but doesn't have any actual beneficial effect on event handling, sadly. check-in: a2af347d3b user: owen tags: trunk | |
| 13:04 | Add ssh.h for prototypes for the X display stubs check-in: 07f3ffc93d user: owen tags: trunk | |
| 12:11 | Make a few things static check-in: 4c389d057e user: owen tags: trunk | |
|
2005-01-23
| ||
| 09:01 | Give the config window a title. check-in: 00781b36fb user: owen tags: trunk | |
| 08:31 | When checking if a connection comes from localhost, don't assume it's an IPv4 connection. Instead, correctly check IPv4 and IPv6 connections, assume that AF_LOCAL is always local, and anything else is always remote. This makes trivial local-to-remote forwarding work on my system. check-in: c6292f3f4e user: ben tags: trunk | |
|
2005-01-22
| ||
| 10:06 | Don't abuse a remote channel number of (unsigned)(-1) to indicate a channel for which we don't yet have a remote number, and instead add a flag to indicate this fact. Fixes bug ssh-remoteid-minusone. check-in: 6039240c89 user: ben tags: trunk | |
| 09:32 | When calling getaddrinfo() for a listening socket, pass in a suggested type of SOCK_STREAM, since that's what we'll be using. check-in: 8ea07ec929 user: ben tags: trunk | |
| 09:20 | Stupid typo, spotted by GCC. check-in: 86f06745c5 user: ben tags: trunk | |
| 09:19 | If getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it passes back to us, so don't. check-in: 6caff86de4 user: ben tags: trunk | |
| 08:51 | Owen's just pointed out that random_stir() is capable of recursion. I'm sure I didn't mean that to happen! Added a lock to stop it. check-in: 7efec92a4c user: simon tags: trunk | |
| 08:01 | Explicitly ignore SCI rather than translating it into DECID. Should fix bug sci-is-not-decid. check-in: 8eaf1fe1c5 user: ben tags: trunk | |
| 07:32 | Probable support for first_kex_packet_follows in KEXINIT. Not significantly tested since none of the common key-exchange protocols starts with a packet from the server, so I don't have a server that implements this. check-in: 834d6a4042 user: ben tags: trunk | |
|
2005-01-20
| ||
| 18:02 | Colours now work properly, including 256-colour stuff. Timing stuff now there, but almost certainly bogus. check-in: c0f994b601 user: owen tags: trunk | |
| 15:45 | Dispose of a variable whose only use was being set to zero. check-in: 45991831e2 user: ben tags: trunk | |
| 10:42 | Fix/bludgeon Mac compile wrinkles. check-in: 50d019225c user: owen tags: trunk | |
|
2005-01-19
| ||
| 17:30 | Add an assertion so that short-rsa2-key-crash at least avoids segfaulting while we come up with a better solution. check-in: 83675aee49 user: ben tags: trunk | |
| 11:41 | While we're here, pad USERAUTH_INFO_RESPONSEs to 256 bytes too. check-in: b1da03aeda user: ben tags: trunk | |
| 06:34 | Make the outgoing SSH2 sequence number unsigned, so as to avoid depending on overflow behaviour of signed integers. check-in: 9ab372a1fe user: ben tags: trunk | |
| 04:07 | Add a lengthy comment warning future front-end implementors about the right and wrong way to implement the timing interface. check-in: 108c4ea6f7 user: simon tags: trunk | |
|
2005-01-18
| ||
| 16:01 | Bits and pieces, mostly stubs, for the Mac port. check-in: 35d32b9f38 user: owen tags: trunk | |
| 13:09 | Yes we do mean assignment. Bah. check-in: a4d7543bf7 user: owen tags: trunk | |
| 13:04 | The terminal reengineering of r4609 left an unused `start' lying around. Remove it. check-in: b8b50be09e user: owen tags: trunk | |
| 03:38 | ssh_pkt_getstring wants a boring int rather than an unsigned int. Let's give it one. check-in: e1b90bc8b9 user: owen tags: trunk | |
|
2005-01-17
| ||
| 10:38 | Currentish ssh.com supports single-DES in SSH2 as "des-cbc@ssh.com". It seems to be entirely the same as "des-cbc", so supporting it is trivial and we may as well do so. If nothing else, it makes it clear whose fault it is. check-in: 8fabb7fcd3 user: ben tags: trunk | |
| 04:07 | Change some function arguments to void * to placate picky compilers. check-in: e8bda63d8d user: owen tags: trunk | |
|
2005-01-16
| ||
| 18:50 | In SSH2, rather than sending an SSH_MSG_IGNORE after every password, just pad the packet out to 256 bytes. Much simpler. This leavs ssh2_pkt_defer() unused, so ifdef it out. check-in: 175fa7a092 user: ben tags: trunk | |
| 08:43 | Be a little less enthusiastic about sending SSH_MSG_CHANNEL_WINDOW_ADJUST: only send it when it will significantly increase the server's idea of our window. This avoids the slew of one-byte WINDOW_ADJUSTs that an interactive shell typically generates. check-in: 0268510fc1 user: ben tags: trunk | |
| 08:33 | Mac SC compiler whinges about trailing commas in enums check-in: 3758a51734 user: owen tags: trunk | |
| 08:29 | Support for falling back through the list of addresses returned from a DNS lookup, whether they're IPv4, v6 or a mixture of both. check-in: d774282d73 user: simon tags: trunk | |
| 08:14 | Make our SSH2 maximum packet size into a constant, since it's used in several places. check-in: bb2febbcff user: ben tags: trunk | |
| 08:02 | Owen tells me the Mac compiler complains at a char / unsigned char mismatch in the invocation of hmacmd5_key(). Do it properly with a void * argument. check-in: 7b7d4829ed user: simon tags: trunk | |
| 07:40 | Add minibidi to Mac PuTTY objects check-in: 8a93208499 user: owen tags: trunk | |
| 06:37 | Rewrite of Unix sk_newlistener() which should fix any possible problems involving trying to bind an IPv6 socket to an IPv4 address. check-in: f1b4410202 user: simon tags: trunk | |
|
2005-01-15
| ||
| 14:39 | Turn of ICRNL in the client tty when we're not in editing mode. This means that we send literal CRs and let the remote pty layer work out what to do with them, so that if it wants raw mode it can have it. check-in: 4bdb86742e user: ben tags: trunk | |
| 12:30 | FWHACK has been dead for years. Remove it from the Makefiles. check-in: 3e4c94b2d7 user: ben tags: trunk | |
| 11:28 | Fix prototypes for mactcp_new and ot_new. check-in: 00cfc31784 user: owen tags: trunk | |
| 11:16 | Throw away "./" in findfile so that the Mac makefile has valid paths. check-in: 8ea6b14ef5 user: owen tags: trunk | |
|
2005-01-14
| ||
| 13:28 | INADDR_NONE is nonstandard. Use (in_addr_t)(-1) instead. check-in: 746221d47e user: ben tags: trunk | |
| 06:26 | Don't use GNUish pattern rules in the Unix Makefile, since they're not supported by non-GNU makes. This allows the standard Solaris /usr/ccs/bin/make to handle that Makefile. check-in: a7aa20415e user: ben tags: trunk | |
|
2005-01-13
| ||
| 15:50 | Mention Cygwin/X as a potential X server, since it's free. check-in: 7bacb09766 user: ben tags: trunk | |
|
2005-01-11
| ||
| 13:33 | Fix `disconnect': arrange that we keep track of when we're expecting to see the server slam the TCP connection shut (i.e. almost never, unless it's just sent us an SSH_MSG_DISCONNECT), and treat an unexpected closure as a non-clean session termination. Previously any server-initiated connection closure was being treated as a clean exit, which was a hangover from the good old Telnet-only days. check-in: cffc0c078a user: simon tags: trunk | |
| 10:33 | Versions of OpenSSH before 2.5.4 kill the connection if the client attempts to rekey. Extend the description of SSH2_BUG_REKEY to cover this situation and apply it to the relevant OpenSSH versions. check-in: 7b589f12f9 user: ben tags: trunk | |
| 09:33 | Bah, I left a rogue event log entry lying around. check-in: 885c74ec18 user: simon tags: trunk | |
| 07:24 | Sun_SSH_1.0.1 also has BUG_SSH2_REKEY. check-in: a46b1af183 user: ben tags: trunk | |
| 04:45 | The Unix `make install' target now allows you to define UTMP_GROUP, in which case pterm will be installed setgid that, or to define UTMP_USER in which case it will be installed setuid that. If you define neither, it will be installed without any set-id bits as before. check-in: 956cdd1384 user: simon tags: trunk | |
| 04:37 | Servers announcing themselves as `Sun_SSH_1.0' apparently cannot deal with rekeys at all: they totally ignore mid-session KEXINIT sent by the client. Hence, a new bug entry so we don't try it. check-in: ed28fd9a5d user: simon tags: trunk | |
|
2005-01-09
| ||
| 08:55 | sk_namelookup() on Unix was failing to translate from our platform- independent ADDRTYPE_* constants to real AF_* ones, causing explicit protocol specification to fail. check-in: b98c6290a2 user: simon tags: trunk | |
| 08:45 | Remove unwanted underscore. check-in: 77e38f22b1 user: owen tags: trunk | |
| 08:27 | New function ltime() returns a struct tm of the current local time. Fixes crashes when time() returns (time_t)-1 on Windows by using the Win32 GetLocalTime() function. (The Unix implementation still just uses time() and localtime().) check-in: b5b804da44 user: owen tags: trunk | |
| 05:58 | Having laboriously constructed a hints parameter for getaddrinfo, it would help to _use_ it! check-in: 74977dc42d user: simon tags: trunk | |
| 05:44 | I've changed my mind about what the IP version selection options in the config should do when IPv6 is configured out. They shouldn't sit there looking silly with only `Auto' and `IPv4' settings: they should instead be completely absent. I had thought the former was acceptable since IPv4-only was a configuration that people should only be using if their compilers didn't support IPv6, but now it occurs to me that ports to fundamentally non-IPv6-supporting platforms are not implausible, and on such ports the presence of a vestigial config option under the _standard_ build conditions would be a low-quality solution. check-in: b0fa9fd94c user: simon tags: trunk | |
|
2005-01-08
| ||
| 08:45 | For local and dynamic port forwardings (i.e. the ones which listen on a local port), the `Auto' protocol option on the Tunnels panel should always produce a port you can connect to in _either_ of IPv4 and v6, because the aim is for the user not to have to know or care which one they're using. This was not the case on Windows, and now is. Also, updated the docs to give more detail on issues like this. check-in: f307208157 user: simon tags: trunk | |
| 08:02 | Cleanups to sk_namelookup(). In particular, it now doesn't segfault if you explicitly specify IPv6 and then try to look up a hostname which doesn't have an IPv6 address. check-in: 096be4666f user: simon tags: trunk | |
| 07:28 | Clear the kex-specific context in ssh->pkt_ctx for every new key exchange. Without doing this, after we have done one specific-group DH exchange (group1 or group14), ssh2_pkt_type _always_ translates 30 and 31 as KEXDH_INIT and KEXDH_REPLY, making a subsequent group-exchange kex look rather strange in an SSH packet log. check-in: 779096703f user: simon tags: trunk | |
| 07:08 | Jacob points out that changing TICKSPERSEC in unix.h changed the meaning of BellOverload{T,S} in Unix saved sessions. Add a Unix- specific backwards compatibility wart to settings.c to compensate. Of course when I do the serious config format revamp, I will ensure that no config item depends on internal #defines (these time intervals will be specified as a floating-point number of seconds) and this horror will be relegated to the old-config-compatibility code. check-in: 0b3bd20177 user: simon tags: trunk | |
|
2005-01-07
| ||
| 10:55 | Simon points out that r5068 broke keyboard-interactive with multiple INFO_REQUESTs, and for some reason Debian OpenSSH is sending INFO_REQUESTs containing no prompts after a normal password authentication, so this should fix Shai's problem. check-in: 8f61fc5781 user: jacob tags: trunk | |
| 09:25 | Update faq-bce further for changes in 0.54. check-in: c9b14f9851 user: jacob tags: trunk | |
| 08:22 | Proxy command formatting now recognises `%proxyhost' and `%proxyport' in addition to the other things it interpolates. This is useful when using the Unix-only `Local' proxy type: it allows me to, for example, set up a proxy command such as ssh %proxyhost nc -q0 %host %port and then enter the name of the proxy machine in `Proxy hostname', which makes it marginally more convenient to quickly change to using a different proxy to get at the same target. I haven't documented this, because we currently don't document the Local proxy type at all. Possibly we should, though. check-in: e7bfc6f3eb user: simon tags: trunk | |
| 03:24 | Use sk_set_frozen() to ensure that no data will be accepted from an SSH connection when we're in the middle of asking the user a dialog-box-type question. Fixes `unix-kex-packet', which has just bitten me when connecting to one of the work Suns. check-in: 65b1240966 user: simon tags: trunk | |
|
2005-01-06
| ||
| 11:05 | Add an explicit message about lack of support for PASSWD_CHANGEREQ in a half-hearted attempt to flush out any uses of it. check-in: a79322b17b user: jacob tags: trunk | |
| 09:47 | I can't believe that after all this time we still had a rogue set of `' quotes! Changed to \q{}. check-in: e8f108306c user: simon tags: trunk | |
| 07:23 | `kbdint-failure': we now offer keyboard-interactive auth to the user for as long as the server offers it, rather than only once, unless the server responds to our initial USERAUTH_REQUEST("keyboard-interactive") with FAILURE, in which case we give up on it entirely. check-in: 3f7f4f0136 user: jacob tags: trunk | |
| 06:37 | Try to make it clearer that "-be" and "-bc" must be specified in _addition_ to "-b batchfile". check-in: 8773e36e4b user: jacob tags: trunk | |
|
2005-01-04
| ||
| 11:39 | Don't forget to initialise ret->ai to NULL in sk_nonamelookup. Was causing segfaults in IPv6-enabled Unix PuTTY connecting through a proxy when letting the proxy do the DNS. check-in: 3df2181140 user: simon tags: trunk | |
| 08:37 | If we're going to use select(), we need <sys/select.h>. check-in: e32d59fc67 user: ben tags: trunk | |
|
2005-01-02
| ||
| 07:17 | colon in kex UI check-in: cfb5a7b051 user: jacob tags: trunk | |
| 03:19 | It's a new year! check-in: 0dcd4c8d0c user: simon tags: trunk | |
|
2005-01-01
| ||
| 10:43 | Localise "not connected to a host" messages. check-in: 2497e12c47 user: jacob tags: trunk | |
| 10:35 | Now that rm, mkdir, and rmdir can operate on lots of files, make them more chatty like the other multiple-file commands. check-in: 4363630adb user: jacob tags: trunk | |
| 10:16 | Document recent changes to PSFTP (and other documentation tweaks). check-in: 87aa86cb7f user: jacob tags: trunk | |
| 08:06 | Remove rogue sfree()s inside new wildcard action functions -- were causing segfaults in failure cases. check-in: 394dfda4b4 user: jacob tags: trunk | |
| 07:01 | There's always one: fix small memory leak introduced in last revision. check-in: becb9e9fd7 user: simon tags: trunk | |
| 06:34 | "Nirwana Nirwana" points out that mget, mput and ls are not the only PSFTP commands that can make good use of wildcards! Now implemented wildcard support in rmdir, rm, mv and chmod. check-in: cb00dfec44 user: simon tags: trunk | |
|
2004-12-31
| ||
| 13:06 | A couple of people have pointed out that the local variable `reading' in this file is not reliably initialised. check-in: 3d18309490 user: simon tags: trunk | |
| 07:02 | Rename some of the more stupidly named files in the Unix back end. Notably pterm.c, which was a sensible name right at the start but became a misnomer as soon as I created Unix PuTTY. check-in: afc775a19a user: simon tags: trunk | |
| 05:46 | In r5043 Jacob removed the `Load' and `Delete' buttons in the saved- sessions panel in the reconfig box. I think, given that, the title of that box also wants work :-) check-in: abaca4dd76 user: simon tags: trunk | |
| 04:51 | Allow reconfiguration of compression and cipher settings in mid-session in SSH2: this forces an immediate rekey to activate the new settings. I'm not sure exactly what this will be useful for (except possibly it might make comparative performance testing easier?), but it has wonderful James Bond value for being able to switch to a more secure cipher before doing anything sensitive :-) If, that is, you weren't using the most secure one to begin with... check-in: 6bca0a2afd user: simon tags: trunk | |
|
2004-12-30
| ||
| 11:53 | Reinstate the textual service name in port forwarding Event Log messages where specified. (I had removed this in the previous revision through forgetfulness.) check-in: 084642d5c1 user: simon tags: trunk | |
| 11:48 | Jacob points out that when we reconfigure port forwarding, we ought to be destroying old ones _before_ creating new ones, so that we can reuse a port for a new purpose without colliding with ourselves. Also fixed port forwarding, which my IPv6 checkin had completely funted :-) check-in: 3e59d470f1 user: simon tags: trunk | |
| 11:29 | If we're going to define _XOPEN_SOURCE, we should at least define it to a version that includes putenv(). Make it 600 (the current one) for good measure. check-in: a7dc2dc328 user: ben tags: trunk | |
| 10:45 | Integrate unfix.org's IPv6 patches up to level 10, with rather a lot of polishing to bring them to what I think should in principle be release quality. Unlike the unfix.org patches themselves, this checkin enables IPv6 by default; if you want to leave it out, you have to build with COMPAT=-DNO_IPV6. I have tested that this compiles on Visual C 7 (so the nightlies _should_ acquire IPv6 support without missing a beat), but since I don't have IPv6 set up myself I haven't actually tested that it _works_. It still seems to make correct IPv4 connections, but that's all I've been able to verify for myself. Further testing is needed. check-in: 99d7fec46d user: simon tags: trunk | |