Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file scp.c at check-in d58f7637c15dfd5d
|
2014-01-25
| ||
| 09:58 | Use the new host_str* functions to improve IPv6 literal support. I've gone through everywhere we handle host names / addresses (on command lines, in PuTTY config, in port forwarding, in X display names, in host key storage...) and tried to make them handle IPv6 literals sensibly, by using the host_str* functions I introduced in my previous commit. Generally it's now OK to use a bracketed IPv6 literal anywhere a hostname might have been valid; in a few cases where no ambiguity exists (e.g. no :port suffix is permitted anyway) unbracketed IPv6 literals are also acceptable. file: [ac9bd0a2ba] check-in: [7c4cad97cb] user: simon branch: trunk, size: 61411 | |
|
2013-11-17
| ||
| 08:05 | Implement connection sharing between instances of PuTTY. The basic strategy is described at the top of the new source file sshshare.c. In very brief: an 'upstream' PuTTY opens a Unix-domain socket or Windows named pipe, and listens for connections from other PuTTYs wanting to run sessions on the same server. The protocol spoken down that socket/pipe is essentially the bare ssh-connection protocol, using a trivial binary packet protocol with no encryption, and the upstream has to do some fiddly transformations that I've been referring to as 'channel-number NAT' to avoid resource clashes between the sessions it's managing. This is quite different from OpenSSH's approach of using the Unix- domain socket as a means of passing file descriptors around; the main reason for that is that fd-passing is Unix-specific but this system has to work on Windows too. However, there are additional advantages, such as making it easy for each downstream PuTTY to run its own independent set of port and X11 forwardings (though the method for making the latter work is quite painful). Sharing is off by default, but configuration is intended to be very easy in the normal case - just tick one box in the SSH config panel and everything else happens automatically. file: [42e8cab931] check-in: [998dfad436] user: simon branch: trunk, size: 61835 | |
|
2013-08-13
| ||
| 01:46 | It turns out I was a little over-strict in my handling of EOF in pscp.c when I did the big revamp in r9279: I assumed that in any SCP connection we would be the first to send EOF, but in fact this isn't true - doing downloads with old-SCP, EOF is initiated by the server, so we were spuriously reporting an error for 'unexpected' EOF when everything had gone fine. Thanks to Nathan Phelan for the report. file: [5244bfaf83] check-in: [dbbbe4df65] user: simon branch: trunk, size: 61751 | |
|
2013-07-29
| ||
| 12:47 | Remove one of the frees added in r9916. stat_name points to somewhere within the same string that destfname points to the start of, so freeing it causes at best a double-free of destfname and more likely a free of something that isn't even the start of an allocated block. file: [e23a8accb1] check-in: [f6693a7219] user: simon branch: trunk, size: 61556 | |
|
2013-07-19
| ||
| 12:44 | Add a nonfatal() function everywhere, to be used for reporting things that the user really ought to know but that are not actually fatal to continued operation of PuTTY or a single network connection. file: [cad2afb42f] check-in: [ad8c919057] user: simon branch: trunk, size: 61575 | |
|
2013-07-14
| ||
| 05:46 | Fix another giant batch of resource leaks. (Mostly memory, but there's one missing fclose too.) file: [b83a629de6] check-in: [17fb711a78] user: simon branch: trunk, size: 61313 | |
|
2013-07-11
| ||
| 12:43 | Add an assortment of missing frees, and one missing file close. Mostly on error paths, although the one in PSFTP's wildcard_iterate will come up in normal usage. file: [12ff056156] check-in: [9c97222ada] user: simon branch: trunk, size: 61216 | |
| 12:24 | xfer_{up,down}load_gotpkt free their input sftp_packet as a side effect of handling it, but they do not free it if it isn't a packet they recognise as part of their upload/download. Invent a return value that specifically signals this, and consistently free pktin at every call site if that return value comes back. Also, ensure that that return value also always comes with something meaningful in fxp_error. file: [ec7d05d9ae] check-in: [1129bffc22] user: simon branch: trunk, size: 60834 | |
| 12:24 | Fix a collection of calls to tell_user so that they don't add their own newline before the one tell_user puts on the end anyway. Also, while I'm here, make up my mind about whether to prefix messages with "scp:" or "pscp:" - I choose the latter. file: [f756990998] check-in: [3646f99667] user: simon branch: trunk, size: 60426 | |
| 12:24 | Fix a couple of code paths on which, if fxp_readdir returned an error, we would return without first closing the directory handle we had used as an argument. file: [957f8bcd33] check-in: [1ab7f878e5] user: simon branch: trunk, size: 60439 | |
| 12:24 | It's not actually legal by the C standard to call qsort with a null array pointer, _even_ if you're asking it to sort zero elements so that in principle it should never dereference that pointer. Fix the four instances in PSCP/PSFTP where this was previously occurring. file: [8349f7baa1] check-in: [ff4be3ebbd] user: simon branch: trunk, size: 60282 | |
|
2013-07-06
| ||
| 15:43 | Clean up handling of the return value from sftp_find_request. In many places we simply enforce by assertion that it will match the request we sent out a moment ago: in fact it can also return NULL, so it makes more sense to report a proper error message if it doesn't return the expected value, and while we're at it, have that error message whatever message was helpfully left in fxp_error() by sftp_find_request when it failed. To do this, I've written a centralised function in psftp.c called sftp_wait_for_reply, which is handed a request that's just been sent out and deals with the mechanics of waiting for its reply, returning the reply when it arrives, and aborting with a sensible error if anything else arrives instead. The numerous sites in psftp.c which called sftp_find_request have all been rewritten to do this instead, and as a side effect they now look more sensible. The only other uses of sftp_find_request were in xfer_*load_gotpkt, which had to be tweaked in its own way. While I'm here, also fix memory management in sftp_find_request, which was freeing its input packet on some but not all error return paths. file: [7cd119b32c] check-in: [14608d0542] user: simon branch: trunk, size: 60247 | |
|
2012-09-19
| ||
| 12:08 | Make --help and --version work consistently across all tools. Well, at least across all command-line tools on both Windows and Unix, and the GTK apps on Unix too. The Windows GUI apps fundamentally can't write to standard output and it doesn't seem sensible to use message boxes for these purposes :-) file: [4c0faa300e] check-in: [75423b66a5] user: simon branch: trunk, size: 59912 | |
|
2011-09-13
| ||
| 06:44 | Revamp of EOF handling in all network connections, pipes and other data channels. Should comprehensively fix 'half-closed', in principle, though it's a big and complicated change and so there's a good chance I've made at least one mistake somewhere. All connections should now be rigorous about propagating end-of-file (or end-of-data-stream, or socket shutdown, or whatever) independently in both directions, except in frontends with no mechanism for sending explicit EOF (e.g. interactive terminal windows) or backends which are basically always used for interactive sessions so it's unlikely that an application would be depending on independent EOF (telnet, rlogin). EOF should now never accidentally be sent while there's still buffered data to go out before it. (May help fix 'portfwd-corrupt', and also I noticed recently that the ssh main session channel can accidentally have MSG_EOF sent before the output bufchain is clear, leading to embarrassment when it subsequently does send the output). file: [5973595d19] check-in: [0831792ea4] user: simon branch: trunk, size: 59784 | |
|
2011-08-18
| ||
| 05:47 | Fix a suspected bug in PSCP's SCP protocol fallback from r9214 (untested since I don't have access to a server that still needs this fallback). file: [b9336864fb] check-in: [35ad2471cb] user: jacob branch: trunk, size: 59354 | |
|
2011-08-11
| ||
| 12:59 | Propagate file permissions in both directions in Unix pscp and psftp. I think I have to consider this to be a separate but related change to the wishlist item 'pscp-filemodes'; that was written before the Unix port existed, and referred to the ability to configure the permissions used for files copied from Windows to Unix - which is still not done. file: [d60d3f0703] check-in: [797da58367] user: simon branch: trunk, size: 59357 | |
|
2011-07-14
| ||
| 13:52 | Post-release destabilisation! Completely remove the struct type 'Config' in putty.h, which stores all PuTTY's settings and includes an arbitrary length limit on every single one of those settings which is stored in string form. In place of it is 'Conf', an opaque data type everywhere outside the new file conf.c, which stores a list of (key, value) pairs in which every key contains an integer identifying a configuration setting, and for some of those integers the key also contains extra parts (so that, for instance, CONF_environmt is a string-to-string mapping). Everywhere that a Config was previously used, a Conf is now; everywhere there was a Config structure copy, conf_copy() is called; every lookup, adjustment, load and save operation on a Config has been rewritten; and there's a mechanism for serialising a Conf into a binary blob and back for use with Duplicate Session. User-visible effects of this change _should_ be minimal, though I don't doubt I've introduced one or two bugs here and there which will eventually be found. The _intended_ visible effects of this change are that all arbitrary limits on configuration strings and lists (e.g. limit on number of port forwardings) should now disappear; that list boxes in the configuration will now be displayed in a sorted order rather than the arbitrary order in which they were added to the list (since the underlying data structure is now a sorted tree234 rather than an ad-hoc comma-separated string); and one more specific change, which is that local and dynamic port forwardings on the same port number are now mutually exclusive in the configuration (putting 'D' in the key rather than the value was a mistake in the first place). One other reorganisation as a result of this is that I've moved all the dialog.c standard handlers (dlg_stdeditbox_handler and friends) out into config.c, because I can't really justify calling them generic any more. When they took a pointer to an arbitrary structure type and the offset of a field within that structure, they were independent of whether that structure was a Config or something completely different, but now they really do expect to talk to a Conf, which can _only_ be used for PuTTY configuration, so I've renamed them all things like conf_editbox_handler and moved them out of the nominally independent dialog-box management module into the PuTTY-specific config.c. file: [807a50690b] check-in: [a2c0243430] user: simon branch: trunk, size: 58948 | |
|
2009-08-06
| ||
| 19:19 | Workarounds for compiling with -D_FORTIFY_SOURCE=2 (as Ubuntu does), which doesn't like you to ignore the return value from read()/write()/etc (and apparently can't be shut up with a cast to void). file: [a543699e32] check-in: [c1918bea98] user: jacob branch: trunk, size: 58739 | |
|
2009-04-23
| ||
| 12:39 | When giving authorisation errors from the proxy code in x11fwd.c, name the proxy using the global 'appname' variable, instead of statically calling it PuTTY. (Knock-on effect is that PSCP and PSFTP have to declare that variable, though of course they shouldn't ever actually _use_ the X forwarding code. Probably I ought to replace it with a stub nox11fwd.c for those applications.) file: [255a9b7585] check-in: [39f0cd437b] user: simon branch: trunk, size: 58712 | |
|
2009-02-24
| ||
| 16:56 | Fix inaccurate error message. file: [3735c055f0] check-in: [cfd96a2662] user: jacob branch: trunk, size: 58675 | |
|
2008-07-11
| ||
| 14:24 | Replicate r8110 from PSFTP to PSCP, and various other minor patchery from Roger Picton. file: [ae3094c801] check-in: [85e8a600c9] user: jacob branch: trunk, size: 58676 | |
|
2007-08-04
| ||
| 17:14 | In the file-transfer applications, which only ever use the main channel, arrange to set the SSH-2 window size to something very large. This prevents the connection stalling when the window fills up, and means that PSCP receives data _much_ faster. file: [a80d7eff57] check-in: [0ce59e00b7] user: ben branch: trunk, size: 58534 | |
|
2007-07-29
| ||
| 09:02 | Don't throw away data that we receive before we're ready for it. Just save it up for later. This should prevent hangs when talking to particularly enthusiastic servers. Thanks to JCA for tracking this bug down. file: [e9eee61e71] check-in: [9eba45566e] user: ben branch: trunk, size: 58507 | |
|
2006-08-27
| ||
| 03:03 | The `socket' function in the backends is only ever checked to see if it's NULL. Since we already have one back end (uxpty) which doesn't in fact talk to a network socket, and may well have more soon, I'm replacing this TCP/IP-centric function with a nice neutral `connected' function returning a boolean. Nothing else about its semantics has currently changed. file: [5aa95f8cf1] check-in: [32affe9699] user: simon branch: trunk, size: 58614 | |
|
2006-08-26
| ||
| 05:17 | On cleanup, PSCP and PSFTP should explicitly check that the back end is still running rather than relying on ssh_sftp_loop_iteration() to return a bogus value. file: [dffa508aab] check-in: [3f40f538fa] user: simon branch: trunk, size: 58624 | |
|
2006-08-12
| ||
| 10:20 | Large file support for psftp and pscp on both Windows and Unix. On Unix we set _FILE_OFFSET_BITS to 64 on the compiler command line (via mkfiles.pl), and on Windows we use SetFilePointer and GetFileSize to cope with 64-bit sizes where possible. Not tested on Win9x. file: [394cfa6075] check-in: [ec84bb61b9] user: owen branch: trunk, size: 58589 | |
|
2006-06-02
| ||
| 03:46 | Lionel Fourquaux offers this very simple patch to speed up SFTP, simply by upping the packet sizes and maximum in-flight packet count. Got to be worth a try, I think! file: [bddcdd9242] check-in: [2cb25a46b3] user: simon branch: trunk, size: 58319 | |
|
2006-02-19
| ||
| 06:52 | Fix up documentation/usage messages for r6572. file: [3c3a12b653] check-in: [82ba29d738] user: jacob branch: trunk, size: 58317 | |
|
2006-02-11
| ||
| 13:10 | Don Heap spotted that our heuristics for dealing with IPv6 literal addresses in the PSCP command line were bogus, giving "remote to remote not supported" errors with filenames like '[].txt'. Made the heuristic less bogus. file: [acd4171235] check-in: [5f8792b0e9] user: jacob branch: trunk, size: 58214 | |
|
2005-10-30
| ||
| 14:24 | Revamp SSH authentication code so that user interaction is more abstracted out; replace loops structured around a single interaction per loop with less tortuous code (fixes: `ki-multiprompt-crash', `ssh1-bad-passphrase-crash'; makes `ssh2-password-expiry' and `proxy-password-prompt' easier). The new interaction abstraction has a lot of fields that are unused in the current code (things like window captions); this is groundwork for `gui-auth'. However, ssh.c still writes directly to stderr; that may want to be fixed. In the GUI apps, user interaction is moved to terminal.c. This should make it easier to fix things like UTF-8 username entry, although I haven't attempted to do so. Also, control character filtering can be tailored to be appropriate for individual front-ends; so far I don't promise anything other than not having made it any worse. I've tried to test this fairly exhaustively (although Mac stuff is untested, as usual). It all seems to basically work, but I bet there are new bugs. (One I know about is that you can no longer make the PuTTY window go away with a ^D at the password prompt; this should be fixed.) file: [0b759298fc] check-in: [fa1347493a] user: jacob branch: trunk, size: 58273 | |
|
2005-06-25
| ||
| 16:43 | In local-to-remote copies, abort if fxp_init() fails, rather than ploughing on and trying to transfer files, which caused a null-pointer deference. Thanks to Fernando Najera for reporting the bug. file: [5fc92f1214] check-in: [632f55a867] user: ben branch: trunk, size: 58004 | |
|
2005-06-19
| ||
| 09:17 | A major purpose of PuTTY's memory-allocation functions is to succeed or die trying, so there's no need to check their return values for NULL. Spotted by Ben Rudiak-Gould. file: [a17840e375] check-in: [3e02f6edcc] user: ben branch: trunk, size: 57976 | |
|
2005-03-18
| ||
| 20:26 | Try to make our PGP signing more useful: * All the PuTTY tools for Windows and Unix now contain the fingerprints of the Master Keys. The method for accessing them is crude but universal: a new "-pgpfp" command-line option. (Except Unix PuTTYgen, which takes "--pgpfp" just to be awkward.) * Move the key policy discussion from putty-website/keys.html to putty/doc/pgpkeys.but, and autogenerate the former from the latter. Also tweak the text somewhat and include the fingerprints of the Master Keys themselves. (I've merged the existing autogeneration scripts into a single new one; I've left the old scripts and keys.html around until such time as the webmonster reviews the changes and plumbs in the new script; he should remove the old files then.) file: [34a5ae3537] check-in: [d2a830c19a] user: jacob branch: trunk, size: 58024 | |
|
2005-03-10
| ||
| 10:36 | Consistently use a single notation to refer to SSH protocol versions, as discussed. Use Barrett and Silverman's convention of "SSH-1" for SSH protocol version 1 and "SSH-2" for protocol 2 ("SSH1"/"SSH2" refer to ssh.com implementations in this scheme). <http://www.snailbook.com/terms.html> file: [b41f55bfdf] check-in: [59a5e883d1] user: jacob branch: trunk, size: 57843 | |
|
2004-12-30
| ||
| 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. file: [36709148e9] check-in: [99d7fec46d] user: simon branch: trunk, size: 57843 | |
|
2004-12-16
| ||
| 13:36 | General mechanism for ensuring a dodgy SFTP server can't return malicious filenames via FXP_READDIR. file: [6f04571643] check-in: [c846e64623] user: simon branch: trunk, size: 57351 | |
| 09:01 | Renamed scp.c → pscp.c. Rename scp.* to pscp.*, because I always misspell it that way. Also it's more consistent with PSFTP like this: scp.c/pscp.c is more similar to psftp.c (the main application framework) than it is to sftp.c (a set of back-end library routines). file: [7fdf91c2ad] check-in: [769189a6e0] user: simon branch: trunk, size: 56925 | |
|
2004-09-21
| ||
| 11:49 | `ampersat-in-username': tweak `strchr' to `strrchr' where necessary to consistently support usernames containing `@'. file: [7fdf91c2ad] check-in: [b6d76d9903] user: jacob branch: trunk, size: 56925 | |
|
2004-07-25
| ||
| 09:00 | Fix for `psftp-pscp-ignore-load': Default Settings is now loaded before "-load" is processed so that it doesn't clobber it. I've also changed the semantics of "-load" slightly for PSCP, PSFTP, and Plink: if it's specified at all, it overrides (disables) the implicit loading of session details based on a supplied hostname elsewhere (on the grounds that the user is more likely to want the "-load" session than the implicit session). (PuTTY itself doesn't do implicit loading at all, so I haven't changed it.) This means that all the PuTTY tools' behaviour is now consistent iff "-load" is specified (otherwise, some tools have implicit-session, and others don't). However, I've not documented this behaviour, as there's a good chance it will be swept away if and when we get round to sorting out how we deal with settings from multiple sources. It's intended as a "do something sensible" change. file: [122fb747a2] check-in: [81963a938a] user: jacob branch: trunk, size: 56924 | |
|
2004-06-20
| ||
| 12:07 | Add a configuration option for TCP keepalives (SO_KEEPALIVE), default off. No very good reason, but I've occasionally wanted to frob it to see if it makes any difference to problems I'm having, and it was easy. Tested that it does actually cause keepalives on Windows (with tcpdump); should also work on Unix. Not implemented on Mac (does nothing), but then neither is TCP_NODELAY. Quite a big checkin, much of which is adding `keepalive' alongside `nodelay' in network function calls. file: [9808b17f52] check-in: [d6cbea6730] user: jacob branch: trunk, size: 56270 | |
|
2004-04-27
| ||
| 13:23 | Krzysztof Kowalczyk notes that 'etastr' can overflow if the times involved start to get silly. Replace it with a dynamically allocated string instead. file: [77df1d37c0] check-in: [bcf91bc3f3] user: jacob branch: trunk, size: 56241 | |
| 13:16 | Krzysztof Kowalczyk's fix for "Assertion failed: actuallen <= len" when transferring files >2G with PSCP. (I'm unable to actually test this works, but it looks plausible, and small transfers aren't mangled.) file: [c4915e2771] check-in: [58b1f30aef] user: jacob branch: trunk, size: 56218 | |
|
2004-04-25
| ||
| 17:18 | Implement `pscp-select-backend'. file: [848b91904f] check-in: [322435bf8c] user: jacob branch: trunk, size: 56199 | |
|
2004-04-17
| ||
| 15:25 | Add -V for version information to plink, pscp, and psftp. file: [1b81165246] check-in: [f304a84750] user: owen branch: trunk, size: 54743 | |
|
2004-02-22
| ||
| 08:48 | Minor fix in usage message file: [55cdc325ff] check-in: [2a40a6be8f] user: jacob branch: trunk, size: 54547 | |
|
2004-01-21
| ||
| 13:45 | Theo Markettos's unsigned-vs-signed-char pedantry patch. file: [de4c25cc31] check-in: [d58f7637c1] user: simon branch: trunk, size: 54545 | |
|
2003-12-19
| ||
| 06:44 | Joe Yates's memory leak patches. file: [07b5ae8275] check-in: [e9b1098ae1] user: simon branch: trunk, size: 54402 | |
|
2003-12-03
| ||
| 16:45 | fflush(stdout) after each line of stats file: [4552b39f43] check-in: [c43e506a03] user: jacob branch: trunk, size: 54259 | |
|
2003-10-12
| ||
| 08:16 | Remove all the "assert(len>0)" which forbade zero-length writes across the from_backend() interface, after having made all implementations safe against being called with len==0 and possibly-NULL/undefined "data". (This includes making misc.c:bufchain_add() more robust in this area.) Assertion was originally added 2002-03-01; e.g., see plink.c:1.53 [r1571]. I believe this now shouldn't break anything. This should hopefully make `ppk-empty-comment' finally GO AWAY. (Tested with Unix PuTTY.) file: [2af8b97fea] check-in: [5ec3c6472e] user: jacob branch: trunk, size: 54241 | |
|
2003-09-29
| ||
| 10:39 | PSCP in SFTP mode now uses the fast download/upload manager. file: [2c284eb36f] check-in: [f7725510cb] user: simon branch: trunk, size: 54230 | |
|
2003-08-25
| ||
| 09:30 | ... and there's a Unix port of PSCP. Ooh. file: [15b0a488c4] check-in: [7ca13b1af9] user: simon branch: trunk, size: 53317 | |
| 08:53 | Windows PSCP now links against winsftp.c, and scp.c is now a platform-independent source file. Haven't yet added the extra abstraction routines to uxsftp.c to create a Unix PSCP port, but it shouldn't take long. Also in this checkin, a change of semantics in platform_default_s(): now strings returned from it are expected to be dynamically allocated. file: [6b017db895] check-in: [902945de56] user: simon branch: trunk, size: 53323 | |
|
2003-06-29
| ||
| 09:47 | Phase 1a of SFTP re-engineering: fix the glaring memory and request ID leak in the previous checkin. Oops :-) file: [f584e52a47] check-in: [0180a6b327] user: simon branch: trunk, size: 61159 | |
| 09:26 | First phase of SFTP re-engineering. Each base-level fxp_* function has been split into a send half and a receive half, so that callers can set several requests in motion at a time and deal with the responses in whatever order they arrive. file: [da84ba00b4] check-in: [b9024f3254] user: simon branch: trunk, size: 61057 | |
|
2003-06-26
| ||
| 10:08 | Implement sftp-backend-diagnostic in pscp. file: [c2a127c4f3] check-in: [2cb6a9eb00] user: owen branch: trunk, size: 58186 | |
|
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. file: [28601e89e8] check-in: [c9f1945192] user: simon branch: trunk, size: 58062 | |
|
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. file: [38877c5382] check-in: [e54332edd4] user: simon branch: trunk, size: 58047 | |
|
2003-03-29
| ||
| 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. file: [50b0d666e2] check-in: [48c3c19745] user: simon branch: trunk, size: 57775 | |
|
2003-02-01
| ||
| 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. file: [0e67d78d94] check-in: [f8d33b50cd] user: simon branch: trunk, size: 57824 | |
|
2003-01-21
| ||
| 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. file: [3debacff39] check-in: [de3e01d206] user: jacob branch: trunk, size: 57818 | |
|
2003-01-12
| ||
| 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. file: [56391eb382] check-in: [c3e7c65a17] user: simon branch: trunk, size: 57782 | |
| 09:10 | The logging module now contains a local copy of cfg too. file: [d03cf8e7f5] check-in: [425e784a06] user: simon branch: trunk, size: 57763 | |
| 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.) file: [03a7c06d1b] check-in: [f4d72755c1] user: simon branch: trunk, size: 57757 | |
| 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. file: [4efa57e55e] check-in: [5c4ededf67] user: simon branch: trunk, size: 57752 | |
|
2002-11-20
| ||
| 14:09 | Fixes for more robust handling of command-line parse errors. file: [124d1393d9] check-in: [7ee5329b06] user: simon branch: trunk, size: 57742 | |
|
2002-11-07
| ||
| 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. file: [0b9b7102aa] check-in: [c58e86fe39] user: simon branch: trunk, size: 57654 | |
|
2002-10-26
| ||
| 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. file: [fba416b948] check-in: [8fba443d8c] user: simon branch: trunk, size: 57770 | |
| 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! file: [06d8ea4e15] check-in: [06cff2eb6c] user: simon branch: trunk, size: 57679 | |
|
2002-10-25
| ||
| 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. file: [d47c38f008] check-in: [92e8b2cec5] user: simon branch: trunk, size: 57617 | |
|
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? file: [c1baa849cb] check-in: [c56a5fa8ee] user: simon branch: trunk, size: 57322 | |
|
2002-10-16
| ||
| 06:35 | Fix for `hostname-whitespace'; thanks to Justin Bradford. file: [d210960074] check-in: [39093dcc64] user: simon branch: trunk, size: 57300 | |
|
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... file: [116c87a205] check-in: [2d8039929a] user: simon branch: trunk, size: 57023 | |
|
2002-10-07
| ||
| 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. file: [d2fc58341f] check-in: [a1e4761e51] user: jacob branch: trunk, size: 56490 | |
|
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. file: [deabd8bd64] check-in: [8165c812b8] user: jacob branch: trunk, size: 56445 | |
|
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. file: [c1107723d5] check-in: [6e2207da2f] user: simon branch: trunk, size: 56068 | |
|
2002-06-25
| ||
| 13:51 | Forgot to call fxp_init() in `pscp -ls' mode under SFTP. file: [3f362dcadd] check-in: [bb04719c42] user: simon branch: trunk, size: 55612 | |
|
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). file: [63a153e589] check-in: [1f3fc1c1eb] user: jacob branch: trunk, size: 55498 | |
|
2002-04-10
| ||
| 14:54 | The SFTP form of PSCP should remember to send FXP_INIT! Oops. file: [41521e4913] check-in: [4868a1912f] user: simon branch: trunk, size: 54396 | |
|
2002-03-06
| ||
| 14:13 | Ensure our network layer is properly cleaned up before PuTTY exits. Specifically, we explicitly closesocket() all open sockets, which appears to be necessary since otherwise Windows sends RST rather than FIN. I'm _sure_ that's a Windows bug, but there we go. file: [3735afdf2b] check-in: [c483e38b9f] user: simon branch: trunk, size: 54152 | |
|
2002-03-01
| ||
| 07:17 | from_backend() should always be called with len > 0. Only rlogin mode ever failed to do this, and only Plink actually had a problem with it, so this didn't become obvious for a while. rlogin mode is fixed, and all implementations of from_backend() now contain an assertion so that we should spot errors of this type more quickly in future. file: [b6c4acd4d1] check-in: [30d5735d86] user: simon branch: trunk, size: 54120 | |
|
2001-12-31
| ||
| 10:15 | Create the long-awaited console.c, and move the common routines out of scp.c, psftp.c and plink.c into it. Additionally, add `batch mode', in which all the interactive prompts (bad host key, log file exists, insecure cipher, password prompt) are disabled and safe responses are assumed. (The idea being that if you run PSCP, for example, in a cron job then you'd probably rather it failed and exited instead of leaving the cron job wedged while it waits for user input that will never arrive.) file: [8f58ac36e4] check-in: [9ce037d3b4] user: simon branch: trunk, size: 54098 | |
|
2001-12-14
| ||
| 08:57 | Retired the #ifdef DUMP_PACKETS stuff in ssh.c because I'm utterly sick of recompiling to enable packet dumps. SSH packet dumping is now provided as a logging option, and dumps to putty.log like all the other logging options. While I'm at it I cleaned up the format so that packet types are translated into strings for easy browsing. POSSIBLE SIDE EFFECT: in the course of this work I had to re-enable the SSH1 packet length checks which it turns out hadn't actually been active for some time, so it's possible things might break as a result. If need be I can always disable those checks for the 0.52 release and think about it more carefully later. file: [8d2c6cc2bd] check-in: [94f359321d] user: simon branch: trunk, size: 60369 | |
|
2001-11-29
| ||
| 15:47 | Configurable TCP_NODELAY option on network connections file: [12aee22ffa] check-in: [8daaf4c09d] user: simon branch: trunk, size: 59262 | |
|
2001-11-25
| ||
| 08:31 | INCOMPATIBLE CHANGE to the SSH2 private key file format. There is now a passphrase-keyed MAC covering _all_ important data in the file, including the public blob and the key comment. Should conclusively scupper any attacks based on nobbling the key file in an attempt to sucker the machine that decrypts it. MACing the comment field also protects against a key-substitution attack (if someone's worked out a way past our DSA protections and can extract the private key from a signature, swapping key files and substituting comments might just enable them to get the signature they need to do this. Paranoid, but might as well). file: [7bafce30d2] check-in: [33213fd301] user: simon branch: trunk, size: 59259 | |
|
2001-11-21
| ||
| 16:58 | Ryan Finnie's extensions to the GUI feedback mode in pscp. file: [1528e3ab93] check-in: [10bd47f228] user: simon branch: trunk, size: 58703 | |
|
2001-10-30
| ||
| 15:45 | The other utilities should do the same processing of the hostname (parsing `user@' prefixes etc) that PuTTY proper does. file: [d696b51bba] check-in: [0196b546dc] user: simon branch: trunk, size: 57922 | |
|
2001-09-19
| ||
| 15:07 | Fix pasting of newlines in local line editing mode. Possibly not a very _good_ fix; something might want doing after the release. file: [bdda2c6736] check-in: [a8202e3593] user: simon branch: trunk, size: 57200 | |
|
2001-09-18
| ||
| 14:41 | terminal.c's from_backend() no longer calls term_out(), because term_out() can in turn call ldisc_send() which calls back to from_backend() when local echo is enabled. This was giving rise to crazy re-entrancy stuff and stack overflows. Instead from_backend() deposits its data in a bufchain which term_out() empties the next time it's called. file: [74f9ca7c3e] check-in: [126e861724] user: simon branch: trunk, size: 57183 | |
|
2001-09-12
| ||
| 15:11 | psftp and pscp should disable all forwarding (ports, X, agent). Partly because that's a good idea _anyway_, and partly because it seems to be causing trouble. (Specifically, their pathetic attempt to emulate plink's proper select handling seems to get confused when the back end tries to open a local listening socket.) file: [2d7701caf5] check-in: [0c4becfc0b] user: simon branch: trunk, size: 57204 | |
|
2001-09-10
| ||
| 03:39 | Clarify the comment at the top of scp.c to make the licensing situation more explicit. file: [5410b1d97c] check-in: [818ff15632] user: simon branch: trunk, size: 56942 | |
|
2001-09-08
| ||
| 10:16 | Fix potential float screwup in scp percentage indicator. (Don't compute (100*a)/b. Instead compute 100*(a/b), because that way there's no chance that 100*a will become inexact enough to fail to yield 100 when a==b.) file: [23d1aed257] check-in: [28fa3f92c1] user: simon branch: trunk, size: 56736 | |
|
2001-09-07
| ||
| 17:49 | Pedantry patch from RDB: sanitise header use, correct one comment and remove an unused variable. file: [703eafd349] check-in: [8da61582c8] user: simon branch: trunk, size: 56738 | |
|
2001-09-05
| ||
| 14:33 | When pscp in SFTP mode does client-side matching of a server-side wildcard, it's polite to let the user know if the wildcard didn't match any file names. file: [a124a245f1] check-in: [057992d7ea] user: simon branch: trunk, size: 56813 | |
|
2001-08-29
| ||
| 03:56 | Fix segfault (should free act.buf not act.name, because the latter might not point at the start of the former). Cheers Minefield :-) file: [038afaa944] check-in: [d02e404690] user: simon branch: trunk, size: 56530 | |
|
2001-08-28
| ||
| 07:26 | stripslashes() should have been dealing with colons as well. I don't _think_ there was an exploit (even if the server sends "c:foobar", the client will not attempt to create "c:foobar"; instead it will try to create ".\c:foobar" which will fail), but it's as well to be sure. file: [71e8748dec] check-in: [e6fe329d9c] user: simon branch: trunk, size: 56531 | |
| 03:08 | Fix various small compiler warnings, mostly unused local variables file: [c814f9375b] check-in: [0a5751b809] user: simon branch: trunk, size: 56448 | |
|
2001-08-27
| ||
| 10:02 | Finally tighten up the server-side wildcard security hole, the _right_ way. (SSWs are disabled by default and can be re-enabled using `-unsafe', meaning that pscp will _never_ do anything unexpected to your local file system unless you explicitly give consent. The sftp-based variant will work fine because the corresponding mechanism is _not_ unsafe.) file: [a444001e7a] check-in: [b3d4e1612d] user: simon branch: trunk, size: 56502 | |
| 09:51 | Fix tiny bug in new sftp-mode wildcards: when there wasn't a leading path component (just `host:*' rather than `host:directory/*') there was trouble. file: [daf924be17] check-in: [912522e575] user: simon branch: trunk, size: 56023 | |
| 05:24 | Minor modification: in remote->local non-recursive mode matching a wildcard, we don't abandon ship completely if the wildcard matches a directory; we just warn and carry on with the rest. file: [8ade5486ab] check-in: [a6483ad1a9] user: simon branch: trunk, size: 55700 | |
| 05:17 | Implemented a simple wildcard matching engine, and used it to restore remote wildcard capability in sftp-style PSCP. file: [0aff0a0bb2] check-in: [ad2723cc77] user: simon branch: trunk, size: 55303 | |
|
2001-08-26
| ||
| 13:32 | PSCP now uses the modern SFTP protocol if it can, and falls back to scp1 if it can't. Currently not very tested - I checked it in as soon as it completed a successful recursive copy in both directions. Also, one known bug: you can't specify a remote wildcard, because by the nature of SFTP we'll need to implement the wildcard engine on the client side. I do intend to do this (and use the same wildcard engine in PSFTP as well) but I haven't got round to it yet. file: [47e3780e0a] check-in: [0d8a92d58d] user: simon branch: trunk, size: 52620 | |
| 10:45 | Arrgh; yet again I make my security checking too draconian to actually get things done. I'm sure this is the second time I've checked in this mistake :-/ Still, this time I've got right to the bottom of the cause, and commented it clearly. Phew. file: [5fcae14b39] check-in: [85efe1705a] user: simon branch: trunk, size: 39925 | |
| 10:32 | Oops. ^X^S comes _before_ `cvs commit'. Two more diagnostics gone :-) file: [4768ba6c27] check-in: [635360f2f9] user: simon branch: trunk, size: 39310 | |
| 10:31 | Further tightening up in PSCP. Fixed a couple more holes whereby a malicious SCP server could have written to areas other than the ones the user requested; cleared up buffer overruns everywhere. Hopefully we now do not use arbitrary buffer limits _anywhere_. file: [4f68947f69] check-in: [0963d65406] user: simon branch: trunk, size: 39412 | |
| 09:53 | Preparatory work for allowing PSCP to work over SFTP as well as old- style scp1. I've built a layer of abstraction covering all the gory details of the old scp network protocol. file: [2063a2ef72] check-in: [1cb1d6ddd8] user: simon branch: trunk, size: 37577 | |
|
2001-08-25
| ||
| 14:33 | Jacob's patch for a drag-list to select SSH ciphers. Heavily hacked by me to make the drag list behaviour slightly more intuitive. WARNING: DO NOT LOOK AT pl_itemfrompt() IF YOU ARE SQUEAMISH. file: [401d2405c0] check-in: [fb691d08cf] user: simon branch: trunk, size: 34600 | |
| 12:09 | Extensive changes that _should_ fix the socket buffering problems, by ceasing to listen on input channels if the corresponding output channel isn't accepting data. Has had basic check-I-didn't-actually- break-anything-too-badly testing, but hasn't been genuinely tested in stress conditions (because concocting stress conditions is non- trivial). file: [8efe2976f6] check-in: [e84a3c910c] user: simon branch: trunk, size: 33547 | |
|
2001-05-19
| ||
| 08:41 | Be prepared to print spaces at the end of a statistics line in case the previously printed line was longer. Avoids multiple trailing percents. file: [5d97e187fe] check-in: [cc1e87e246] user: simon branch: trunk, size: 32841 | |
|
2001-05-13
| ||
| 09:11 | The host-key-unknown prompt now offers the same three options as the host-key-changed prompt: update-cache-and-connect, connect-without- updating-cache, and abandon-connection. (Previously the middle one was missing.) file: [2a60e73384] check-in: [f44e289959] user: simon branch: trunk, size: 32696 | |
| 09:02 | Placate gcc's `-Wall' warnings. file: [ddfbe04eb0] check-in: [e91a557356] user: simon branch: trunk, size: 32486 | |
| 06:15 | Attempt to report the error condition right when an SCP connection with a pre-supplied password fails to authenticate. file: [47404c0424] check-in: [1d8cec3ee3] user: simon branch: trunk, size: 32656 | |
|
2001-05-09
| ||
| 09:01 | `realhost', passed back from all the backend init functions, was scoped within those functions. It's now dynamically allocated. file: [5868f73f67] check-in: [b0b7726ce6] user: simon branch: trunk, size: 31941 | |
|
2001-05-06
| ||
| 09:35 | Run entire source base through GNU indent to tidy up the varying coding styles of the various contributors! Woohoo! file: [a3cebcd306] check-in: [18fcbbf5a2] user: simon branch: trunk, size: 31920 | |
|
2001-04-28
| ||
| 12:18 | Put the \001 prefix back on scp error messages when they're sent to the server. (Not sure _why_ they're sent to the server; scp is weird.) It may be pointless when sent to the screen, which is why I removed it, but it's extremely pointful on the wire :-( file: [4b0be0c553] check-in: [beae6ab7c7] user: simon branch: trunk, size: 32746 | |
| 03:42 | Add some fflushes to make it easier for piped programs to talk to plink and pscp file: [3d01817d5a] check-in: [3ca35402c6] user: simon branch: trunk, size: 32680 | |
|
2001-03-12
| ||
| 09:31 | ssh_get_password has become ssh_get_line, so it can handle usernames as well. This should fix the multiple-reads-on-stdin bug in plink. file: [7ba8ddfcfe] check-in: [fa069c172a] user: simon branch: trunk, size: 32642 | |
|
2001-01-27
| ||
| 09:51 | Remove -gui from the command-line help in pscp, because it's an internal option only. file: [e6e1fc5897] check-in: [7f9d2b3e36] user: simon branch: trunk, size: 32485 | |
|
2001-01-26
| ||
| 03:33 | Fix build errors in PSCP after line discipline upheaval file: [a43be11f98] check-in: [259c83c009] user: simon branch: trunk, size: 32173 | |
|
2001-01-24
| ||
| 08:08 | Rethink the whole line discipline architecture. Instead of having multiple switchable line disciplines, we now have a single unified one which changes its behaviour based on option settings. Each option setting can be suggested by the back end and/or the terminal handler, and can be forcibly overridden by the configuration. Local echo and local line editing are separate, independently switchable, options. file: [f86c6cefd5] check-in: [d2a045d8e1] user: simon branch: trunk, size: 31849 | |
|
2001-01-07
| ||
| 09:27 | Turn a rogue malloc to smalloc file: [9c7753cd93] check-in: [6e73bcca6c] user: simon branch: trunk, size: 31878 | |
| 07:31 | Patch from Christian Biesinger: pscp guesses your Windows username by default file: [28943326b9] check-in: [ca7e00ef21] user: simon branch: trunk, size: 31877 | |
|
2000-12-12
| ||
| 04:33 | Make memory management uniform: _everything_ now goes through the smalloc() macros and thence to the safemalloc() functions in misc.c. This should allow me to plug in a debugging allocator and track memory leaks and segfaults and things. file: [2d4857507c] check-in: [6f56ef599a] user: simon branch: trunk, size: 31549 | |
|
2000-11-30
| ||
| 15:35 | Prevent wildcards in source specs from matching . or .. file: [7afe4d7ba7] check-in: [08b255ecfa] user: simon branch: trunk, size: 31546 | |
|
2000-11-15
| ||
| 05:13 | Fix another silly segfault file: [c38fececb6] check-in: [53076fab9e] user: simon branch: trunk, size: 30866 | |
|
2000-10-31
| ||
| 03:29 | Back off a bit of that vulnerability fix, which was breaking `pscp host:wildcard* .' and suchlike. file: [0ed1dde5c1] check-in: [af2916ab05] user: simon branch: trunk, size: 30817 | |
|
2000-10-30
| ||
| 03:54 | Couple of fixes for pscp's GUI interface mode file: [ed7c38a9a9] check-in: [1cb85da9d1] user: simon branch: trunk, size: 30952 | |
|
2000-10-27
| ||
| 04:17 | Misc bugfixes file: [5729f7aece] check-in: [194fd0cfeb] user: simon branch: trunk, size: 30843 | |
|
2000-10-23
| ||
| 07:20 | Plink and PSCP were failing to load the `Default Settings' options when connecting to an arbitrary hostname. In particular, setting a default user name didn't work. Now it does. file: [cc6039617f] check-in: [05ecf49826] user: simon branch: trunk, size: 30887 | |
| 05:32 | Created a shiny new abstraction for the socket handling. Has many advantages: - protocol modules can call sk_write() without having to worry about writes blocking, because blocking writes are handled in the abstraction layer and retried later. - `Lost connection while sending' is a thing of the past. - <winsock.h> is no longer needed in most modules, because "putty.h" doesn't have to declare `SOCKET' variables any more, only the abstracted `Socket' type. - select()-equivalent between multiple sockets will now be handled sensibly, which opens the way for things like SSH port forwarding. file: [595f4425f2] check-in: [a2baae931e] user: simon branch: trunk, size: 30854 | |
|
2000-10-21
| ||
| 12:52 | Ooh. Actually, that vulnerability is further-reaching than I thought. As well as the ".." attack in recursive copies, the name sent by the client was also trusted in a single-file implicit- destination copy such as "pscp host:foo .". (The result was ./foo, where foo is what the server claimed the file was rather than what the user asked for. I think it's not unreasonable that if the user requests file `foo' from the host, he should get the result in a file called `foo' no matter what the host thinks.) file: [e5f91cb233] check-in: [45b7073ca1] user: simon branch: trunk, size: 30648 | |
| 12:36 | Fix a potential vulnerability in incoming `pscp -r'. The server sends filenames of things in the directory being copied. A malicious server could have sent, for example, "..\..\windows\system\foo.dll" and overwritten something crucial. The filenames are now vetted to ensure they don't contain slashes or backslashes. file: [10c3a62773] check-in: [fb06cc0f0f] user: simon branch: trunk, size: 30412 | |
|
2000-10-20
| ||
| 08:51 | Introduce a sane interface function, from_backend(), for backends to use when they have data from the network. Replaces the utterly daft inbuf / inbuf_head / term_out() interface, which only made sense when feeding to terminal.c. (terminal.c now implements from_backend() as a small function that gateways to the old interface.) As a side effect, from_backend() also has an `is_stderr' parameter, so scp can once again separate the server's pronouncements on stderr from the actual protocol progress on stdout. file: [f8062ee006] check-in: [07725a2915] user: simon branch: trunk, size: 30306 | |
|
2000-10-18
| ||
| 10:36 | Miscellaneous cleanups and reorgs in preparation for building PuTTYgen. In particular, moved self-managing controls stuff out of windlg.c into the new and reusable winctrls.c. file: [468fe3e2fb] check-in: [bc05912afb] user: simon branch: trunk, size: 30217 | |
|
2000-10-06
| ||
| 08:21 | Create settings.c and move the load/save session code out of windlg.c into it. Allows plink and pscp to no longer link with windlg.c, meaning they lose some of the sillier stub functions and also can provide a console-based form of verify_ssh_host_key(). file: [24ae8d9ac2] check-in: [6a5608b815] user: simon branch: trunk, size: 30195 | |
| 07:32 | Add a parameter to write_clip() so that windlg.c need not call term_deselect file: [7b48c33be8] check-in: [21437e2618] user: simon branch: trunk, size: 27725 | |
| 06:42 | Tighten up use of "static" throughout. Module-internal things should NOT be exported willy-nilly. It encourages people to use them. file: [e1d3bbd506] check-in: [39b5dda1d1] user: simon branch: trunk, size: 27706 | |
|
2000-10-04
| ||
| 05:02 | Fix a typo; thanks to Al Sutton file: [e867c6b46e] check-in: [b990c09d65] user: simon branch: trunk, size: 27671 | |
|
2000-09-27
| ||
| 04:36 | Remove the special hooks in ssh.c for pscp. pscp now uses the standard interface to the outside of the ssh module. This means pscp now works without change in SSH2. file: [d809fab5d2] check-in: [8fc7f9ff56] user: simon branch: trunk, size: 27670 | |
|
2000-09-22
| ||
| 09:46 | Enable copying the Event Log file: [b25a74d216] check-in: [cd3e56e839] user: simon branch: trunk, size: 24606 | |
| 08:16 | Enable better build-time flexibility over which WinSock to include file: [795992ebf8] check-in: [710e30e69c] user: simon branch: trunk, size: 24519 | |
| 08:10 | Bug fix: line discipline selection is not enabled until after ssh authentication phase to stop user/password prompts behaving oddly file: [c25197a246] check-in: [6a62bd814c] user: simon branch: trunk, size: 24437 | |
| 06:04 | Prevent network errors from summarily closing the window when CoE is off file: [f870807811] check-in: [9a812d08ee] user: simon branch: trunk, size: 24410 | |
|
2000-09-21
| ||
| 09:34 | Miscellaneous ssh2 fixes. plink is now relatively sane file: [2b2c06a6c6] check-in: [95ba42915d] user: simon branch: trunk, size: 24130 | |
|
2000-09-15
| ||
| 10:54 | Lars Gunnarsson's GUI interface changes file: [dcacd0ea5d] check-in: [eb5bb44383] user: simon branch: trunk, size: 24120 | |
|
2000-09-08
| ||
| 09:45 | Added a fourth application: plink, a command line connection utility file: [b0c52124ea] check-in: [851ef355bf] user: simon branch: trunk, size: 20586 | |
|
2000-07-21
| ||
| 04:17 | PSCP: After a password supplied with `-pw' fails to authenticate, we should _not_ fall back to console input for a second attempt, because this hangs batch files. file: [ffd32593fd] check-in: [0c4c59b935] user: simon branch: trunk, size: 20600 | |
|
2000-06-22
| ||
| 07:18 | Joris van Rantwijk's unified SSH code suitable for PuTTY and PSCP file: [03d8617931] check-in: [61d07303f8] user: simon branch: trunk, size: 20430 | |
|
2000-06-06
| ||
| 04:51 | "pscp" was spelled "scp" in usage message file: [1f4d42d59f] check-in: [c2f7788fe8] user: simon branch: trunk, size: 20082 | |
|
2000-04-04
| ||
| 09:40 | Add -ls to online help bit file: [f8077c2f75] check-in: [beaff39722] user: simon branch: trunk, size: 20079 | |
|
2000-04-03
| ||
| 14:54 | Add the -ls option to execute `ls -la' on a directory instead of trying to copy anything. Likely to be useful for GUI front ends. file: [7ab8d6ddf8] check-in: [266caed703] user: simon branch: trunk, size: 20018 | |
|
2000-03-24
| ||
| 03:45 | Peter Schellenbach's patch: re-implement the PuTTY cryptographic functions as calls to the MS Crypto API. Not integrated into the Makefile yet, but should eventually allow building of an SSH-enabled PuTTY which contains no native crypto code, so it can be used everywhere (and anyone who can get the MS encryption pack can still use the SSH parts). file: [5cc8c3ca86] check-in: [b248ce49d9] user: simon branch: trunk, size: 18820 | |
|
2000-03-08
| ||
| 04:21 | Fix some picky compiler warnings kindly provided by Borland C++ 5.5 file: [1de35040b1] check-in: [606ab03985] user: simon branch: trunk, size: 18773 | |
|
2000-02-21
| ||
| 08:20 | Fix an error message in pscp file: [e3d0b4a9d6] check-in: [aea1c0553d] user: simon branch: trunk, size: 18746 | |
|
2000-01-28
| ||
| 14:20 | Joris van Rantwijk's fix for pscp -P file: [3ee13d5544] check-in: [c6d109295f] user: simon branch: trunk, size: 18741 | |
|
1999-11-30
| ||
| 05:53 | Avoid recursing into . and .. when in -r mode file: [f319eb8ec1] check-in: [68ccd4384c] user: simon branch: trunk, size: 18757 | |
|
1999-11-22
| ||
| 04:07 | Cleanups to remove warnings for GNU/mingw32 compilation file: [2bca3a1a50] check-in: [aea9f1c40e] user: simon branch: trunk, size: 18343 | |
|
1999-11-17
| ||
| 04:39 | Fix a slightly picky compiler warning file: [4172ea1eed] check-in: [f412c2a84c] user: simon branch: trunk, size: 18337 | |
|
1999-11-16
| ||
| 03:26 | Update from Joris van Rantwijk: command line options to specify port and password in scp file: [4b1e365d89] check-in: [5fa3bb4a93] user: simon branch: trunk, size: 18332 | |
|
1999-11-08
| ||
| 05:22 | Clean up scp client - re-indent to my coding style and remove compiler warnings file: [9ce909a782] check-in: [e305df301c] user: simon branch: trunk, size: 17616 | |
|
1999-08-31
| ||
| 04:20 | Added: Added Joris van Rantwijk's scp client file: [fa661647f2] check-in: [2a7362bf30] user: simon branch: trunk, size: 17200 | |