1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
Commit Graph

2731 Commits

Author SHA1 Message Date
Jacob Nevins
5b15dca2da 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.

[originally from svn r5353]
[r5344 == f73fcb0424]
2005-02-19 01:20:16 +00:00
Jacob Nevins
53d4c434e7 New enum constant ERROR clashed with a macro in MinGW's wingdi.h.
Use uglier names.

[originally from svn r5352]
2005-02-18 22:03:15 +00:00
Simon Tatham
dc52b43cc3 Add plain-Unix binaries to the `make clean' list in the OS X makefile.
[originally from svn r5345]
2005-02-18 18:35:30 +00:00
Simon Tatham
f73fcb0424 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.

[originally from svn r5344]
2005-02-18 18:33:31 +00:00
Simon Tatham
775fe9eb31 A few more fixes in the new asynchronous-alert-box mechanism.
[originally from svn r5343]
2005-02-18 18:19:28 +00:00
Owen Dunn
a2567371a6 We have a host key database, just not a very good one.
[originally from svn r5340]
2005-02-18 09:22:55 +00:00
Simon Tatham
0598df9217 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'.)

[originally from svn r5335]
2005-02-17 19:31:32 +00:00
Simon Tatham
fceaa2e4a7 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.

[originally from svn r5331]
2005-02-17 18:56:37 +00:00
Simon Tatham
8574822b9b 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.

[originally from svn r5330]
2005-02-17 18:34:24 +00:00
Jacob Nevins
92ccb964a2 ssh_do_close() should close any listening sockets associated with
port-forwardings.

[originally from svn r5325]
2005-02-17 02:00:01 +00:00
Jacob Nevins
077ce4012f ssh_do_close() was only closing about half the channels. Fixed.
[originally from svn r5324]
2005-02-17 01:47:01 +00:00
Owen Dunn
abb7b4ea57 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.

[originally from svn r5322]
2005-02-16 23:30:10 +00:00
Jacob Nevins
98d342a62a portfwd validation was sometimes not picking up a blank source port
[originally from svn r5319]
2005-02-16 12:13:27 +00:00
Jacob Nevins
346907478d Fix a minor valgrind issue in dynamic port-forwarding.
[originally from svn r5318]
2005-02-16 11:56:27 +00:00
Jacob Nevins
70de40ba0a 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.

[originally from svn r5317]
2005-02-16 11:44:44 +00:00
Simon Tatham
c3857f88f7 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.

[originally from svn r5316]
2005-02-16 09:01:45 +00:00
Jacob Nevins
db19a6aff1 Minor reorganisations to WinHelp support. (Done as part of a - failed -
attempt to fix `winhelp-crash', but we may as well keep them.)

[originally from svn r5314]
2005-02-16 01:47:10 +00:00
Jacob Nevins
2487b41777 Update on Mac ports.
[originally from svn r5311]
2005-02-15 23:39:57 +00:00
Owen Dunn
1638035d43 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.

[originally from svn r5310]
2005-02-15 22:41:00 +00:00
Jacob Nevins
99122767f5 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'.)

[originally from svn r5309]
2005-02-15 22:23:47 +00:00
Simon Tatham
46bfde32e8 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.

[originally from svn r5308]
2005-02-15 21:45:50 +00:00
Jacob Nevins
0fb46d3a0a Add a couple of other sensible button defaults in MessageBox()s.
[originally from svn r5305]
2005-02-15 19:22:47 +00:00
Jacob Nevins
e8a4e7e601 Martin Radford points out that the default action for the host key
confirmation dialogs should be "cancel", not "accept".

[originally from svn r5304]
2005-02-15 19:10:44 +00:00
Jacob Nevins
c9116974ac 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().

[originally from svn r5303]
2005-02-15 17:05:58 +00:00
Jacob Nevins
9d9c0fcffc 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.)

[originally from svn r5302]
2005-02-15 12:35:59 +00:00
Jacob Nevins
680869b866 Initialise (struct Socket_tag).connected in sk_register().
Again, the value could do with review.

[originally from svn r5300]
2005-02-14 15:30:09 +00:00
Jacob Nevins
01c4c363d9 Initialise (struct Socket_tag).connected in sk_newlistener() since Valgrind
complained.
(I _think_ this is the correct initialisation.)

[originally from svn r5299]
2005-02-14 15:03:32 +00:00
Jacob Nevins
63784f3f9a 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.

[originally from svn r5297]
2005-02-14 11:43:27 +00:00
Jacob Nevins
63c26e722a WSAECONNABORTED: Soften claims + emphasise applicability to established
connections, based on KB 819124.

[originally from svn r5296]
2005-02-14 11:07:52 +00:00
Simon Tatham
7109d413b4 Oh, and (there's always one) remove the unnecessary extra parameter
from unix_setup_config_box().

[originally from svn r5293]
2005-02-14 07:44:50 +00:00
Simon Tatham
b75856edfa 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.

[originally from svn r5292]
2005-02-14 07:41:41 +00:00
Owen Dunn
518738efe9 Display panel titles and grouping box titles.
[originally from svn r5291]
2005-02-13 00:00:59 +00:00
Owen Dunn
3e8951c8c6 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.

[originally from svn r5288]
2005-02-11 18:01:59 +00:00
Jacob Nevins
07391f0f36 Mention saving mid-session and some of its wrinkles.
Formatting tweaks in the same general area.

[originally from svn r5284]
2005-02-10 01:25:50 +00:00
Jacob Nevins
339242c9bb Document effect of settings changes on existing connections/forwardings.
Also mention that service names can be used instead of port numbers.

[originally from svn r5283]
2005-02-10 01:04:06 +00:00
Jacob Nevins
4e7a72310f 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.

[originally from svn r5282]
2005-02-10 01:03:08 +00:00
Jacob Nevins
7ffad81d31 Slightly gratuitous logeventf() crusade and purge of fixed-length buffers.
Also a bonus sfree().

[originally from svn r5281]
2005-02-10 00:16:59 +00:00
Owen Dunn
3311f89129 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.

[originally from svn r5280]
2005-02-09 21:18:44 +00:00
Simon Tatham
2f7de95a2e 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.

[originally from svn r5279]
2005-02-09 15:57:07 +00:00
Jacob Nevins
4ae1aa3b48 Missing {Question}
[originally from svn r5278]
2005-02-09 15:42:28 +00:00
Ben Harris
0edf329190 We _really_ don't need to hear about WSAECONNABORTED any more.
[originally from svn r5276]
2005-02-08 14:13:57 +00:00
Ben Harris
0ed4829537 Mention that a common reason for keys' being rejected is dodgy permissions.
[originally from svn r5274]
2005-02-08 12:40:51 +00:00
Simon Tatham
ba793c905f 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.

[originally from svn r5271]
2005-02-07 20:24:13 +00:00
Jacob Nevins
162398e55e Comment explaining location in top-level directory.
[originally from svn r5270]
2005-02-07 15:23:45 +00:00
Jacob Nevins
0259612237 Petri Kero pointed out a FreeLibrary() call that should be guarded by NO_IPV6.
[originally from svn r5268]
2005-02-07 12:23:10 +00:00
Owen Dunn
3fa46caeb8 Add a comment about the deficiencies of the host key cache implementation.
[originally from svn r5263]
2005-02-07 10:47:48 +00:00
Simon Tatham
471624882b 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.

[originally from svn r5262]
2005-02-06 15:52:00 +00:00
Simon Tatham
f5442209d4 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.

[originally from svn r5261]
2005-02-06 15:14:34 +00:00
Owen Dunn
d13ac1bc34 First stab at a host key cache on the Mac.
[originally from svn r5260]
2005-02-06 15:00:36 +00:00
Simon Tatham
3fb9e2326d The pty backend won't _always_ be running under X, so it should be
possible to compile it without the WINDOWID variable.

[originally from svn r5259]
2005-02-06 13:33:41 +00:00