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

303 Commits

Author SHA1 Message Date
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
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
0eb1e5df8d 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.

[originally from svn r5256]
2005-02-05 14:50:42 +00:00
Simon Tatham
c3dce77780 Added a small shell script to run enough SetFile commands to make
MPW builds work after checking out on Mac OS X.

[originally from svn r5255]
2005-02-05 14:46:39 +00:00
Simon Tatham
17f484ae66 This file needs to have CR line endings for MPW to be happy with it.
[originally from svn r5254]
2005-02-05 14:39:22 +00:00
Owen Dunn
45700b21e8 Times and dates in the event log, fixing ltime() in the process.
[originally from svn r5250]
2005-02-05 00:29:20 +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
76231a5c98 Flashing things now work as a natural consequence of the timing interface.
[originally from svn r5235]
2005-02-02 21:33:13 +00:00
Owen Dunn
19e5743976 Make ot_recv less voracious.
[originally from svn r5234]
2005-02-02 21:18:39 +00:00
Owen Dunn
00c57c6bc5 Update the configuration when the window is resized.
[originally from svn r5233]
2005-02-02 19:56:29 +00:00
Owen Dunn
ea225b5889 Hide/show the scrollbar
[originally from svn r5230]
2005-01-30 14:59:47 +00:00
Owen Dunn
bb787c53fb 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.

[originally from svn r5229]
2005-01-30 14:10:05 +00:00
Owen Dunn
72cce92fa7 Make Change Settings do something.
[originally from svn r5227]
2005-01-29 22:46:43 +00:00
Owen Dunn
13de3f2357 Enable the Open Transport networking implementation unless NO_OT is defined.
[originally from svn r5224]
2005-01-28 23:39:38 +00:00
Owen Dunn
871fb84047 sfree the memory dupprintf allocated
[originally from svn r5221]
2005-01-28 11:50:56 +00:00
Ben Harris
865fbaa8ce 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.

[originally from svn r5219]
2005-01-28 11:39:45 +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
09dae8d5dc Add ssh.h for prototypes for the X display stubs
[originally from svn r5213]
2005-01-26 19:04:42 +00:00
Owen Dunn
f8dfe9717c Give the config window a title.
[originally from svn r5181]
2005-01-23 15:01:21 +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
Owen Dunn
97c851e77f Fix prototypes for mactcp_new and ot_new.
[originally from svn r5112]
2005-01-15 17:28:44 +00:00
Simon Tatham
b93e12d477 It's a new year!
[originally from svn r5061]
[this svn revision also touched putty-website]
2005-01-02 09:19:14 +00:00
Simon Tatham
6daf6faede 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.

[originally from svn r5047]
[this svn revision also touched putty-wishlist]
2004-12-30 16:45:11 +00:00
Simon Tatham
b0bf176dfb Loose end from r5031: the Kex panel should only be displayed in
mid-session if we are not using SSHv1. I've done this by introducing
a generic `cfg_info' function which every back end can use to
communicate an int's worth of data to setup_config_box; in SSH
that's the protocol version in use, and in everything else it's
currently zero.

[originally from svn r5040]
[r5031 == d77102a8d5]
2004-12-29 12:32: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
Simon Tatham
92f3b101f5 Slight improvement to cursor blink timing: since the cursor doesn't
blink when the window doesn't have focus, we don't schedule blink
timers at that point either.

Infrastructure change: term->has_focus should now not be written
directly from outside terminal.c. Instead, use the function
term_set_focus, which will sort out the blink timers as well.

[originally from svn r4911]
2004-11-27 19:34:45 +00:00
Simon Tatham
7ecf13564a New timing infrastructure. There's a new function schedule_timer()
which pretty much any module can call to request a call-back in the
future. So terminal.c can do its own handling of blinking, visual
bells and deferred screen updates, without having to rely on
term_update() being called 50 times a second (fixes: pterm-timer);
and ssh.c and telnet.c both invoke a new module pinger.c which takes
care of sending keepalives, so they get sent uniformly in all front
ends (fixes: plink-keepalives, unix-keepalives).

[originally from svn r4906]
[this svn revision also touched putty-wishlist]
2004-11-27 13:20:21 +00:00
Simon Tatham
8a99993c88 Remove .cvsignore files on all active branches.
[originally from svn r4788]
[this svn revision also touched bmbm,caltrap,charset,enigma,filter,fonts,golem,grunge,halibut,html,lj,local,misc,polyhedra,putty-website,putty-wishlist,puzzles,pycee,sdlgames,svn-tools,timber,tweak]
2004-11-16 15:29:14 +00:00
Jacob Nevins
fd070c31bf Merge version number bump (0.56) from release branch.
[originally from svn r4699]
2004-10-26 18:59:39 +00:00
Simon Tatham
089775eb02 First-stage support for Unicode combining characters. The `chars'
array of each `termline' structure now contains optional additional
entries after the normal number of columns, which are used to chain
a linked list of combining characters off any primary termchar that
needs it. This means we support arbitrarily many combining
characters per cell (unlike xterm's hard limit of 2).

Cut and paste works correctly (selecting a character cell containing
multiple code points causes all those code points to be cut and
pasted). Display works by simply overlaying all the relevant
characters on top of one another; this is good enough for Unix
(xterm does the same thing), and mostly seems OK for Windows except
that the Windows Unicode fonts have a nasty habit of not containing
most of the combining characters and thus overlaying an
unknown-code-point box on your perfectly good base glyph.

I had no idea how to add support in the Mac do_text(), so I've
simply stuck in an assertion that will trigger the first time a
combining character is displayed, and hopefully this will bite
someone with the clue to fix it.

[originally from svn r4622]
2004-10-14 16:42:43 +00:00
Simon Tatham
709a94e5f2 Re-engineering of terminal emulator, phase 1.
The active terminal screen is no longer an array of `unsigned long'
encoding 16-bit Unicode plus 16 attribute bits. Now it's an array of
`termchar' structures, which currently have 32-bit Unicode and 32
attribute bits but which will probably expand further in future.

To prevent bloat of the memory footprint, I've introduced a mostly
RLE-like compression scheme for storing scrollback: each line is
compressed into a compact (but hard to modify) form when it moves
into the term->scrollback tree, and is temporarily decompressed when
the user wants to scroll back over it. My initial tests suggest that
this compression averages about 1/4 of the previous (32 bits per
character cell) data size in typical output, which means this is an
improvement even without counting the new ability to extend the
information stored in each character cell.

Another beneficial side effect is that the insane format in which
Unicode was passed to front ends through do_text() has now been
rendered sane.

Testing is incomplete; this _may_ still have instabilities. Windows
and Unix front ends both seem to work as far as I've looked, but I
haven't yet looked very hard. The Mac front end I've edited (it
seemed obvious how to change it) but I can't compile or test it.

As an immediate functional effect, the terminal emulator now
supports full 32-bit Unicode to whatever extent the host platform
allows it to. For example, if you output a 4-or-more-byte UTF-8
character in Unix pterm, it will not display it properly, but it
will correctly paste it back out in a UTF8_STRING selection. Windows
is more restricted, sadly.

[originally from svn r4609]
2004-10-13 11:50:16 +00:00
Simon Tatham
5d5ffc274f Credit Malcolm Smith in the copyrights.
[originally from svn r4518]
2004-08-30 13:23:23 +00:00
Jacob Nevins
49e9abb645 Oops - merge version number bump from branch-0-55 (such was the plan).
[originally from svn r4430]
2004-08-09 17:04:50 +00:00
Jacob Nevins
20f433efac 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.

[originally from svn r4309]
2004-06-20 17:07:38 +00:00
Simon Tatham
8b57939f6b Update version numbers preparatory to tagging for release.
[originally from svn r3820]
2004-02-07 18:17:50 +00:00
Simon Tatham
2817a7e150 It's a new year.
[originally from svn r3679]
[this svn revision also touched putty-website]
2004-01-01 16:47:55 +00:00
Jacob Nevins
92db92af5a Control of 'addr' is now handed over to {platform_,}new_connection() and
sk_new() on invocation; these functions become responsible for (eventually)
freeing it. The caller must not do anything with 'addr' after it's been passed
in. (Ick.)

Why:
A SOCKS5 crash appears to have been caused by overzealous freeing of
a SockAddr (ssh.c:1.257 [r2492]), which for proxied connections is
squirreled away long-term (and this can't easily be avoided).

It would have been nice to make a copy of the SockAddr, in case the caller has
a use for it, but one of the implementations (uxnet.c) hides a "struct
addrinfo" in there, and we have no defined way to duplicate those. (None of the
current callers _do_ have a further use for the SockAddr.)

As far as I can tell, everything _except_ proxying only needs addr for the
duration of the call, so sk_addr_free()s immediately. If I'm mistaken, it
should at least be easier to find the offending free()...

[originally from svn r3383]
[r2492 == bdd6633970]
2003-08-07 16:04:33 +00:00
Ben Harris
dc2af8af66 Finally, column spanning.
[originally from svn r3184]
2003-05-10 20:51:39 +00:00
Ben Harris
feac9298a0 Change the way that panel-switching works so that we only hide the panel
we're switching from and show the panel we're switching to, rather than
iterating over all the panels, hiding and showing them as appropriate.
This has that consequence that all controls have to be created invisible,
since they no longer get hidden after creation.  As usual, the scroll
bars on list boxes have a special hack of their own.

[originally from svn r3183]
2003-05-10 20:23:23 +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
24a1942810 Comment a few things I need to fix.
[originally from svn r3177]
2003-05-10 11:26:33 +00:00
Simon Tatham
6bb121ecb9 Colin's const-fixing Patch Of Death. Seems to build fine on Windows
as well as Unix, so it can go in.

[originally from svn r3162]
2003-05-04 14:18:18 +00:00
Ben Harris
dd055ce280 Missing bits for colour selection support.
[originally from svn r3132]
2003-04-18 13:09:46 +00:00
Ben Harris
338bfcec3c Missing bits for System 7 listbox support.
[originally from svn r3131]
2003-04-18 13:09:08 +00:00
Ben Harris
18bf5c62b7 Remove all those horrid fprintfs.
[originally from svn r3123]
2003-04-14 23:47:07 +00:00
Ben Harris
8f2027fa36 Set the space required by a listbox sensibly as well.
[originally from svn r3122]
2003-04-14 23:28:58 +00:00
Ben Harris
1ecb4a043f Minor fixes:
- Erase the background of System 7 editboxes before drawing them.
 - Set the height of listboxes correctly.
 - Set the panel-selection listbox to 20 items high.

[originally from svn r3121]
2003-04-14 23:25:04 +00:00