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

71 Commits

Author SHA1 Message Date
Jacob Nevins
46c00b0f38 Rationalise access to, and content of, backends[] array.
Should be no significant change in behaviour.
(Well, entering usernames containing commas on Plink's command line will be
a little harder now.)

[originally from svn r7628]
2007-06-30 21:56:44 +00:00
Owen Dunn
d403e31233 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?

[originally from svn r5424]
2005-03-01 21:38:06 +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
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
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
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
Owen Dunn
061cfb7ef3 mac_pollterm() is no longer useful and can be retired.
[originally from svn r5249]
2005-02-05 00:14:24 +00:00
Owen Dunn
2374544eb3 Add a Change Settings dialogue box. Doesn't do anything yet.
[originally from svn r5216]
2005-01-26 23:30:34 +00:00
Owen Dunn
fc0d87aa1d Move sk_poll() inside (!gotevent), which is more logical but doesn't have
any actual beneficial effect on event handling, sadly.

[originally from svn r5214]
2005-01-26 19:05:50 +00:00
Owen Dunn
c29e61381a Colours now work properly, including 256-colour stuff.
Timing stuff now there, but almost certainly bogus.

[originally from svn r5160]
2005-01-21 00:02:59 +00:00
Owen Dunn
75008d9da0 Bits and pieces, mostly stubs, for the Mac port.
[originally from svn r5136]
2005-01-18 22:01:25 +00:00
Jacob Nevins
3c98d6e60d Add a preference list for SSH-2 key exchange algorithms, on a new "Kex" panel
(which will gain more content anon).

Retire BUG_SSH2_DH_GEX and add a backwards-compatibility wart, since we never
did find a way of automatically detecting this alleged server bug, and in any
case there was only ever one report (<3D91F3B5.7030309@inwind.it>, FWIW).

Also generalise askcipher() to a new askalg() (thus touching all the
front-ends).

I've made some attempt to document what SSH key exchange is and why you care,
but it could use some review for clarity (and outright lies).

[originally from svn r5022]
2004-12-23 02:24:07 +00:00
Ben Harris
25ff4e0ed9 I believe that verify_ssh_host_key() should now be passed a real front-end
handle, which removes one of its many flaws.

[originally from svn r3181]
2003-05-10 12:27:38 +00:00
Ben Harris
ccc9ec2bce Update signature of agent_query() to match the rest of the world.
[originally from svn r3178]
2003-05-10 11:40:18 +00:00
Ben Harris
000edf3233 Implement update_special_menu(), which calls mac_adjustmenus() as appropriate.
Eventually, mac_adjustmenus() will handle populating the Specials menu.

[originally from svn r3058]
2003-04-05 14:34:06 +00:00
Ben Harris
fe590b2f51 Add support for editbox controls on Mac OS 8, and for per-control private data.
[originally from svn r2995]
2003-03-25 23:18:59 +00:00
Ben Harris
93198194fb When running on a system with Aqua menu layout, delete the separator line
above "Quit" as well as "Quit" itself.

[originally from svn r2951]
2003-03-17 19:00:36 +00:00
Ben Harris
33e7ee09ab Slightly better than null verify_ssh_host_key(). It's broken in more ways
than I can comfortably enumerate (see the comments in the code), but it's
better than always assuming everything's OK.

[originally from svn r2919]
2003-03-06 23:44:47 +00:00
Ben Harris
614c5a3b92 Improve scheduling on the Mac:
1: Only update the screen when there's nothing else to do.  This means that
it's a lot harder for a fast typist to outrun PuTTY.
2: Only sleep for at most 100ms at a time.  This is a kludge to work around
the WakeUpProcess caused by incoming data can happen before the
WaitNextEvent it's meant to interrupt, leading to PuTTY sleeping forever
because it doesn't know there's network data pending.

[originally from svn r2901]
2003-03-01 15:12:03 +00:00
Ben Harris
000acf446c Handle the Aqua menu layout, in which the system provides a "quit" option
for us, correctly.

[originally from svn r2899]
2003-02-27 23:34:59 +00:00
Ben Harris
eec4b9d08d Add handling for suspend and resume events, and set the flags in our 'SIZE'
resource that say we can handle them.  This seems to avoid a crash when PuTTY's
switched away from, and is necessary for Carbon anyway.

[originally from svn r2878]
2003-02-23 11:58:59 +00:00
Ben Harris
f53c998569 Be careful not to try to get information from windows we don't own, or that
don't exist at all.  Also a small PuTTYgen change that I can't be bothered
to filter out of this commit.

[originally from svn r2874]
2003-02-20 22:31:52 +00:00
Ben Harris
4f59bac798 Rather than increasing the size of my switch statements yet further, have
a bunch of function pointers associated with each window to do things like
updates and click handling.  This is all looking disturbingly object-oriented.
.
While I'm here, separate out the about box into its own file, shared by PuTTY
and PuTTYgen.

[originally from svn r2850]
2003-02-15 16:22:15 +00:00
Ben Harris
8dcbb16ec2 Minimal shell of PuTTYgen for Mac. No actual PuTTYgen-specific code there
yet, but an absence of PuTTY-specific code.

[originally from svn r2842]
2003-02-12 23:53:15 +00:00
Ben Harris
2c10ece60d Crude Event Log implementation for the Mac. I'm fairly convinced now that
using the List Manager was entirely the wrong decision on my part, so I'll
probably rewrite this to use TextEdit at some point, but it's better than
stderr even so.

[originally from svn r2811]
2003-02-07 01:38:12 +00:00
Ben Harris
60c9d7bae3 Clean up Carbon build procedures somewhat. I still don't have anything that
actually works, but I think I'm getting closer.

[originally from svn r2810]
2003-02-07 01:33:24 +00:00
Ben Harris
a1e2199dc1 Add a level of indirection to make it rather easier to work out which of a
session's windows we're dealing with.

[originally from svn r2804]
2003-02-04 23:39:26 +00:00
Ben Harris
45ab39dd19 Slightly improve Carbon handling: we still have to deal with the "About..."
menu entry, even if the rest of the Apple Menu is done for us.

[originally from svn r2788]
2003-02-04 00:33:11 +00:00
Ben Harris
60b6419de5 Add support for using Navigation Services to open saved sessions.
Support for saving sessions using Navigation Services will come later.

[originally from svn r2779]
2003-02-02 15:59:00 +00:00
Ben Harris
ac8177763e Make this compile in a Carbon world (while still supporting everything else).
[originally from svn r2773]
2003-02-01 23:42:30 +00:00
Ben Harris
61711b9594 Rather more natural (if much more complex) Mac Filename implementation.
Filenames are represented as a FSSpec, which is converted to and from an
alias record ('alis' resource) when saving and loading sessions.
.
It might be an idea to allow in-core Filenames to contain alias records too,
so that they can refer to directories that don't exist on the current system,
but that requires Filenames to be dynamically allocated, which is likely to be
a pain.

[originally from svn r2771]
2003-02-01 21:44:05 +00:00
Simon Tatham
bd16b29a7a Oops, Ben is quite right about the rather appalling design of
filename_from_str. Here's a better fix, with some const
repercussions too.

[originally from svn r2768]
2003-02-01 17:24:27 +00:00
Ben Harris
947b70006e Tidy up Simon's FontSpec abstraction.
Also, make fontspec_to_str not return the address of an automatic variable.
It now has a memory leak instead.

[originally from svn r2767]
2003-02-01 15:44:08 +00:00
Simon Tatham
f26b7aa0d3 Created new data types Filename' and FontSpec', intended to be
opaque to all platform-independent modules and only handled within
per-platform code. `Filename' is there because the Mac has a magic
way to store filenames (though currently this checkin doesn't
support it!); `FontSpec' is there so that all the auxiliary stuff
such as font height and charset and so on which is needed under
Windows but not Unix can be kept where it belongs, and so that I can
have a hope in hell of dealing with a font chooser in the forthcoming
cross-platform config box code, and best of all it gets the horrid
font height wart out of settings.c and into the Windows code where
it should be.
The Mac part of this checkin is a bunch of random guesses which will
probably not quite compile, but which look roughly right to me.
Sorry if I screwed it up, Ben :-)

[originally from svn r2765]
2003-02-01 12:54:40 +00:00
Ben Harris
9812db5f1f Add support for "Duplicate Session", moving back-end selection into
mac_startsession() in the process.

[originally from svn r2718]
2003-01-25 15:15:40 +00:00
Ben Harris
6993486b43 Redesign the macnet.c infrastructure, largely so as to avoid using Gestalt(),
which didn't detect the MacTCP emulation in Owen's Open Transport.

[originally from svn r2703]
2003-01-24 00:25:33 +00:00
Ben Harris
596f6e9787 Add Apple Event handlers for 'aevt'/'oapp', 'aevt'/'odoc' and 'aevt'/'pdoc'.
None of them does anything useful yet (though the odoc one tries to).

[originally from svn r2700]
2003-01-23 22:57:43 +00:00
Ben Harris
85334a8317 Add minimal Apple Event support -- we handle the 'aevt'/'quit' event.
[originally from svn r2668]
2003-01-20 22:55:08 +00:00
Ben Harris
99c1029649 Support for saving sessions on the Mac. This is slightly useful even in the
absence of a config dialogue, since it allows me to get Default Settings out.

[originally from svn r2646]
2003-01-18 20:09:21 +00:00
Ben Harris
694aafa071 Add the ability to close sessions. This adds *_free() functions to most
areas of the code.  Not all back-ends have been tested, but Telnet and SSH
behave reasonably.

Incidentally, almost all of this patch was written through Mac PuTTY,
admittedly over a Telnet connection.

[originally from svn r2615]
2003-01-15 23:30:21 +00:00
Ben Harris
7a9c7f3d68 Make this compile again.
[originally from svn r2614]
2003-01-15 22:37:58 +00:00
Jacob Nevins
e8ebb4c879 Implement Simon's suggestion of moving DEFAULT_PROTOCOL into a per-backend-
link-module const variable `be_default_protocol' which suggests a sensible
default to the front end (which can ignore it). (DEFAULT_PORT is replaced by a
lookup in the backend[] table.)
Still not pretty, but it does mean that the recent fix for `ssh-default'
doesn't break PuTTYtel.

[originally from svn r2613]
2003-01-15 20:47:50 +00:00
Ben Harris
1d92c2b783 Update for Unicode deglobalisations.
[originally from svn r2600]
2003-01-14 19:42:00 +00:00
Ben Harris
34b400a131 const fallout.
[originally from svn r2597]
2003-01-14 19:09:24 +00:00
Ben Harris
b4d37df579 Consequences of Simon's recent deglobalisation changes.
[originally from svn r2573]
2003-01-12 16:11:27 +00:00
Ben Harris
cf2bcad348 Call ot_poll as appropriate.
Also use cleanup_exit() in preference to exit() so that MacTCP gets shut down
even on unclean exits.

[originally from svn r2560]
2003-01-12 14:45:33 +00:00
Ben Harris
f9300b0011 Initial import of Owen's OpenTransport interface. It doesn't work yet, but
it does compile and link.

[originally from svn r2547]
2003-01-11 23:33:57 +00:00
Ben Harris
4818639014 Add an indirection layer between mtcpnet.c and the rest of PuTTY so that
we can have runtime switching between MacTCP and OpenTransport, and so
that we can cope if there's no TCP/IP stack available at all (albeit with
very little functionality at present).

[originally from svn r2546]
2003-01-11 19:43:59 +00:00
Simon Tatham
86977efa81 Introduce framework for authenticating with the local X server.
Windows and Mac backends have acquired auth-finding functions which
do nothing; Unix backend has acquired one which actually works, so
Plink can now do X forwarding believably.
(This checkin stretches into some unlikely parts of the code because
there have been one or two knock-on effects involving `const'. Bah.)

[originally from svn r2536]
2003-01-10 18:33:35 +00:00
Ben Harris
79cbd905e7 Take advantage of having control over the default font to do the job properly:
ask the system script what it's preferred monospaced font is, and use that
if possible.  Failing, that, try the Roman script system, and if that fails,
fall back to Monaco 9.

[originally from svn r2521]
2003-01-09 22:39:47 +00:00