u/mdw/putty
19 years agoInitial checkin of a native Mac OS X port, sharing most of its code
simon [Tue, 15 Feb 2005 21:45:50 +0000 (21:45 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5308 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd a couple of other sensible button defaults in MessageBox()s.
jacob [Tue, 15 Feb 2005 19:22:47 +0000 (19:22 +0000)]
Add a couple of other sensible button defaults in MessageBox()s.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5305 cda61777-01e9-0310-a592-d414129be87e

19 years agoMartin Radford points out that the default action for the host key
jacob [Tue, 15 Feb 2005 19:10:44 +0000 (19:10 +0000)]
Martin Radford points out that the default action for the host key
confirmation dialogs should be "cancel", not "accept".

git-svn-id: svn://svn.tartarus.org/sgt/putty@5304 cda61777-01e9-0310-a592-d414129be87e

19 years agoThe terminal window can now indicate that PuTTY is busy in various ways, by
jacob [Tue, 15 Feb 2005 17:05:58 +0000 (17:05 +0000)]
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().

git-svn-id: svn://svn.tartarus.org/sgt/putty@5303 cda61777-01e9-0310-a592-d414129be87e

19 years agoExtra note on "connection reset by peer" on Windows.
jacob [Tue, 15 Feb 2005 12:35:59 +0000 (12:35 +0000)]
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.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@5302 cda61777-01e9-0310-a592-d414129be87e

19 years agoInitialise (struct Socket_tag).connected in sk_register().
jacob [Mon, 14 Feb 2005 15:30:09 +0000 (15:30 +0000)]
Initialise (struct Socket_tag).connected in sk_register().
Again, the value could do with review.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5300 cda61777-01e9-0310-a592-d414129be87e

19 years agoInitialise (struct Socket_tag).connected in sk_newlistener() since Valgrind
jacob [Mon, 14 Feb 2005 15:03:32 +0000 (15:03 +0000)]
Initialise (struct Socket_tag).connected in sk_newlistener() since Valgrind
complained.
(I _think_ this is the correct initialisation.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@5299 cda61777-01e9-0310-a592-d414129be87e

19 years agoMartin Prikryl points out that we weren't always initialising new "addrinfo"
jacob [Mon, 14 Feb 2005 11:43:27 +0000 (11:43 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5297 cda61777-01e9-0310-a592-d414129be87e

19 years agoWSAECONNABORTED: Soften claims + emphasise applicability to established
jacob [Mon, 14 Feb 2005 11:07:52 +0000 (11:07 +0000)]
WSAECONNABORTED: Soften claims + emphasise applicability to established
connections, based on KB 819124.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5296 cda61777-01e9-0310-a592-d414129be87e

19 years agoOh, and (there's always one) remove the unnecessary extra parameter
simon [Mon, 14 Feb 2005 07:44:50 +0000 (07:44 +0000)]
Oh, and (there's always one) remove the unnecessary extra parameter
from unix_setup_config_box().

git-svn-id: svn://svn.tartarus.org/sgt/putty@5293 cda61777-01e9-0310-a592-d414129be87e

19 years agoSaw uxcfg.c in half down the middle, to separate out config changes
simon [Mon, 14 Feb 2005 07:41:41 +0000 (07:41 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5292 cda61777-01e9-0310-a592-d414129be87e

19 years agoDisplay panel titles and grouping box titles.
owen [Sun, 13 Feb 2005 00:00:59 +0000 (00:00 +0000)]
Display panel titles and grouping box titles.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5291 cda61777-01e9-0310-a592-d414129be87e

19 years agoTidy up the host key alerts a little, and swap the Just Once and Cancel
owen [Fri, 11 Feb 2005 18:01:59 +0000 (18:01 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5288 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention saving mid-session and some of its wrinkles.
jacob [Thu, 10 Feb 2005 01:25:50 +0000 (01:25 +0000)]
Mention saving mid-session and some of its wrinkles.
Formatting tweaks in the same general area.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5284 cda61777-01e9-0310-a592-d414129be87e

19 years agoDocument effect of settings changes on existing connections/forwardings.
jacob [Thu, 10 Feb 2005 01:04:06 +0000 (01:04 +0000)]
Document effect of settings changes on existing connections/forwardings.
Also mention that service names can be used instead of port numbers.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5283 cda61777-01e9-0310-a592-d414129be87e

19 years agossh_setup_portfwd() should usually be looking at the new cfg, not the old
jacob [Thu, 10 Feb 2005 01:03:08 +0000 (01:03 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5282 cda61777-01e9-0310-a592-d414129be87e

19 years agoSlightly gratuitous logeventf() crusade and purge of fixed-length buffers.
jacob [Thu, 10 Feb 2005 00:16:59 +0000 (00:16 +0000)]
Slightly gratuitous logeventf() crusade and purge of fixed-length buffers.
Also a bonus sfree().

git-svn-id: svn://svn.tartarus.org/sgt/putty@5281 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd some host key dialogue boxes. These still look a little rough around
owen [Wed, 9 Feb 2005 21:18:44 +0000 (21:18 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5280 cda61777-01e9-0310-a592-d414129be87e

19 years agoImprove documentation of the SCP wildcard safety issue: in
simon [Wed, 9 Feb 2005 15:57:07 +0000 (15:57 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5279 cda61777-01e9-0310-a592-d414129be87e

19 years agoMissing {Question}
jacob [Wed, 9 Feb 2005 15:42:28 +0000 (15:42 +0000)]
Missing {Question}

git-svn-id: svn://svn.tartarus.org/sgt/putty@5278 cda61777-01e9-0310-a592-d414129be87e

19 years agoWe _really_ don't need to hear about WSAECONNABORTED any more.
ben [Tue, 8 Feb 2005 14:13:57 +0000 (14:13 +0000)]
We _really_ don't need to hear about WSAECONNABORTED any more.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5276 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention that a common reason for keys' being rejected is dodgy permissions.
ben [Tue, 8 Feb 2005 12:40:51 +0000 (12:40 +0000)]
Mention that a common reason for keys' being rejected is dodgy permissions.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5274 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd the new mk.mpw to the ignore list.
simon [Mon, 7 Feb 2005 23:43:03 +0000 (23:43 +0000)]
Add the new mk.mpw to the ignore list.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5272 cda61777-01e9-0310-a592-d414129be87e

19 years agoRevert my LF->CR change following Owen's comment that it actually
simon [Mon, 7 Feb 2005 20:24:13 +0000 (20:24 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5271 cda61777-01e9-0310-a592-d414129be87e

19 years agoComment explaining location in top-level directory.
jacob [Mon, 7 Feb 2005 15:23:45 +0000 (15:23 +0000)]
Comment explaining location in top-level directory.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5270 cda61777-01e9-0310-a592-d414129be87e

19 years agoPetri Kero pointed out a FreeLibrary() call that should be guarded by NO_IPV6.
jacob [Mon, 7 Feb 2005 12:23:10 +0000 (12:23 +0000)]
Petri Kero pointed out a FreeLibrary() call that should be guarded by NO_IPV6.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5268 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd a comment about the deficiencies of the host key cache implementation.
owen [Mon, 7 Feb 2005 10:47:48 +0000 (10:47 +0000)]
Add a comment about the deficiencies of the host key cache implementation.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5263 cda61777-01e9-0310-a592-d414129be87e

19 years agoReinstate the broken -e option in pterm. Also I've just worked out a
simon [Sun, 6 Feb 2005 15:52:00 +0000 (15:52 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5262 cda61777-01e9-0310-a592-d414129be87e

19 years agoEncapsulated most of the pty backend's variables into a proper data
simon [Sun, 6 Feb 2005 15:14:34 +0000 (15:14 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5261 cda61777-01e9-0310-a592-d414129be87e

19 years agoFirst stab at a host key cache on the Mac.
owen [Sun, 6 Feb 2005 15:00:36 +0000 (15:00 +0000)]
First stab at a host key cache on the Mac.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5260 cda61777-01e9-0310-a592-d414129be87e

19 years agoThe pty backend won't _always_ be running under X, so it should be
simon [Sun, 6 Feb 2005 13:33:41 +0000 (13:33 +0000)]
The pty backend won't _always_ be running under X, so it should be
possible to compile it without the WINDOWID variable.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5259 cda61777-01e9-0310-a592-d414129be87e

19 years agoWhen allocating BSD-style ptys, we should not be satisfied with a
simon [Sat, 5 Feb 2005 15:33:36 +0000 (15:33 +0000)]
When allocating BSD-style ptys, we should not be satisfied with a
/dev/ptyXX we can open: we must also check that we can open and use
the corresponding /dev/ttyXX, because if it's been left in the wrong
mode then we will look terribly silly when we fork and _then_
discover our pty is unusable.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5257 cda61777-01e9-0310-a592-d414129be87e

19 years agoImplement refreshing the whole dialogue box with dlg_refresh, so that
owen [Sat, 5 Feb 2005 14:50:42 +0000 (14:50 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5256 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdded a small shell script to run enough SetFile commands to make
simon [Sat, 5 Feb 2005 14:46:39 +0000 (14:46 +0000)]
Added a small shell script to run enough SetFile commands to make
MPW builds work after checking out on Mac OS X.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5255 cda61777-01e9-0310-a592-d414129be87e

19 years agoThis file needs to have CR line endings for MPW to be happy with it.
simon [Sat, 5 Feb 2005 14:39:22 +0000 (14:39 +0000)]
This file needs to have CR line endings for MPW to be happy with it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5254 cda61777-01e9-0310-a592-d414129be87e

19 years agoMac PuTTY.ppc wouldn't compile for me until I added this prototype.
simon [Sat, 5 Feb 2005 10:55:09 +0000 (10:55 +0000)]
Mac PuTTY.ppc wouldn't compile for me until I added this prototype.
Not sure why it's been working for Owen and not me, but the
prototype ought to be there anyway, so *shrug*.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5251 cda61777-01e9-0310-a592-d414129be87e

19 years agoTimes and dates in the event log, fixing ltime() in the process.
owen [Sat, 5 Feb 2005 00:29:20 +0000 (00:29 +0000)]
Times and dates in the event log, fixing ltime() in the process.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5250 cda61777-01e9-0310-a592-d414129be87e

19 years agomac_pollterm() is no longer useful and can be retired.
owen [Sat, 5 Feb 2005 00:14:24 +0000 (00:14 +0000)]
mac_pollterm() is no longer useful and can be retired.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5249 cda61777-01e9-0310-a592-d414129be87e

19 years agoImplement anti-replay protection for XDM-AUTHORIZATION-1, as required by
ben [Wed, 2 Feb 2005 23:51:58 +0000 (23:51 +0000)]
Implement anti-replay protection for XDM-AUTHORIZATION-1, as required by
the specification.  We keep a cache of tickets we've seen recently and
reject duplicates.  Once a ticket in our cache is old enough that we
wouldn't accept a duplicate anyway, we expire it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5236 cda61777-01e9-0310-a592-d414129be87e

19 years agoFlashing things now work as a natural consequence of the timing interface.
owen [Wed, 2 Feb 2005 21:33:13 +0000 (21:33 +0000)]
Flashing things now work as a natural consequence of the timing interface.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5235 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake ot_recv less voracious.
owen [Wed, 2 Feb 2005 21:18:39 +0000 (21:18 +0000)]
Make ot_recv less voracious.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5234 cda61777-01e9-0310-a592-d414129be87e

19 years agoUpdate the configuration when the window is resized.
owen [Wed, 2 Feb 2005 19:56:29 +0000 (19:56 +0000)]
Update the configuration when the window is resized.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5233 cda61777-01e9-0310-a592-d414129be87e

19 years agoHide/show the scrollbar
owen [Sun, 30 Jan 2005 14:59:47 +0000 (14:59 +0000)]
Hide/show the scrollbar

git-svn-id: svn://svn.tartarus.org/sgt/putty@5230 cda61777-01e9-0310-a592-d414129be87e

19 years agoThe HI guidelines seem adamant that the File menu should never be called
owen [Sun, 30 Jan 2005 14:10:05 +0000 (14:10 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5229 cda61777-01e9-0310-a592-d414129be87e

19 years agoAnother compiler pickiness. It feels wrong to be doing this to
owen [Sat, 29 Jan 2005 22:50:18 +0000 (22:50 +0000)]
Another compiler pickiness.  It feels wrong to be doing this to
perfectly idiomatic code, somehow, and I half wonder whether the
Mac compilers are too stupid to be allowed to treat warnings as
errors.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5228 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake Change Settings do something.
owen [Sat, 29 Jan 2005 22:46:43 +0000 (22:46 +0000)]
Make Change Settings do something.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5227 cda61777-01e9-0310-a592-d414129be87e

19 years agoEnable the Open Transport networking implementation unless NO_OT is defined.
owen [Fri, 28 Jan 2005 23:39:38 +0000 (23:39 +0000)]
Enable the Open Transport networking implementation unless NO_OT is defined.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5224 cda61777-01e9-0310-a592-d414129be87e

19 years agoSplit discussion of diabling rekeys between time-based and data-based, since
ben [Fri, 28 Jan 2005 13:47:37 +0000 (13:47 +0000)]
Split discussion of diabling rekeys between time-based and data-based, since
disabling the former is much more useful, and much safer, than disabling the
latter.  The new wording on data-based rekeys might need some polishing.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5222 cda61777-01e9-0310-a592-d414129be87e

19 years agosfree the memory dupprintf allocated
owen [Fri, 28 Jan 2005 11:50:56 +0000 (11:50 +0000)]
sfree the memory dupprintf allocated

git-svn-id: svn://svn.tartarus.org/sgt/putty@5221 cda61777-01e9-0310-a592-d414129be87e

19 years agoUse AF_UNIX, not AF_LOCAL, since the former is in POSIX and the latter is not.
ben [Fri, 28 Jan 2005 11:47:33 +0000 (11:47 +0000)]
Use AF_UNIX, not AF_LOCAL, since the former is in POSIX and the latter is not.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5220 cda61777-01e9-0310-a592-d414129be87e

19 years agoOverhaul of client-side XDM-AUTHORIZATION-1:
ben [Fri, 28 Jan 2005 11:39:45 +0000 (11:39 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5219 cda61777-01e9-0310-a592-d414129be87e

19 years agoBuffer overruns are embarassing (even if caused by user error), so assert
ben [Wed, 26 Jan 2005 23:49:56 +0000 (23:49 +0000)]
Buffer overruns are embarassing (even if caused by user error), so assert
that this one can't happen until I actually fix it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5217 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd a Change Settings dialogue box. Doesn't do anything yet.
owen [Wed, 26 Jan 2005 23:30:34 +0000 (23:30 +0000)]
Add a Change Settings dialogue box.  Doesn't do anything yet.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5216 cda61777-01e9-0310-a592-d414129be87e

19 years agoMove sockaddr_is_loopback() to before sk_address_is_local(), and define the
ben [Wed, 26 Jan 2005 20:18:33 +0000 (20:18 +0000)]
Move sockaddr_is_loopback() to before sk_address_is_local(), and define the
latter in terms of the former.  Also adjust the definition of
ipv4_is_loopback() to avoid using the non-standard inet_netof() and
IN_LOOPBACKNET, and move it next to its remaining uses.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5215 cda61777-01e9-0310-a592-d414129be87e

19 years agoMove sk_poll() inside (!gotevent), which is more logical but doesn't have
owen [Wed, 26 Jan 2005 19:05:50 +0000 (19:05 +0000)]
Move sk_poll() inside (!gotevent), which is more logical but doesn't have
any actual beneficial effect on event handling, sadly.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5214 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd ssh.h for prototypes for the X display stubs
owen [Wed, 26 Jan 2005 19:04:42 +0000 (19:04 +0000)]
Add ssh.h for prototypes for the X display stubs

git-svn-id: svn://svn.tartarus.org/sgt/putty@5213 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake a few things static
owen [Wed, 26 Jan 2005 18:11:28 +0000 (18:11 +0000)]
Make a few things static

git-svn-id: svn://svn.tartarus.org/sgt/putty@5212 cda61777-01e9-0310-a592-d414129be87e

19 years agoGive the config window a title.
owen [Sun, 23 Jan 2005 15:01:21 +0000 (15:01 +0000)]
Give the config window a title.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5181 cda61777-01e9-0310-a592-d414129be87e

19 years agoWhen checking if a connection comes from localhost, don't assume it's an IPv4
ben [Sun, 23 Jan 2005 14:31:08 +0000 (14:31 +0000)]
When checking if a connection comes from localhost, don't assume it's an IPv4
connection.  Instead, correctly check IPv4 and IPv6 connections, assume that
AF_LOCAL is always local, and anything else is always remote.

This makes trivial local-to-remote forwarding work on my system.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5180 cda61777-01e9-0310-a592-d414129be87e

19 years agoDon't abuse a remote channel number of (unsigned)(-1) to indicate a channel
ben [Sat, 22 Jan 2005 16:06:21 +0000 (16:06 +0000)]
Don't abuse a remote channel number of (unsigned)(-1) to indicate a channel
for which we don't yet have a remote number, and instead add a flag to indicate
this fact.  Fixes bug ssh-remoteid-minusone.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5171 cda61777-01e9-0310-a592-d414129be87e

19 years agoWhen calling getaddrinfo() for a listening socket, pass in a suggested type
ben [Sat, 22 Jan 2005 15:32:10 +0000 (15:32 +0000)]
When calling getaddrinfo() for a listening socket, pass in a suggested type
of SOCK_STREAM, since that's what we'll be using.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5170 cda61777-01e9-0310-a592-d414129be87e

19 years agoStupid typo, spotted by GCC.
ben [Sat, 22 Jan 2005 15:20:35 +0000 (15:20 +0000)]
Stupid typo, spotted by GCC.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5168 cda61777-01e9-0310-a592-d414129be87e

19 years agoIf getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it
ben [Sat, 22 Jan 2005 15:19:21 +0000 (15:19 +0000)]
If getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it
passes back to us, so don't.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5167 cda61777-01e9-0310-a592-d414129be87e

19 years agoOwen's just pointed out that random_stir() is capable of recursion.
simon [Sat, 22 Jan 2005 14:51:29 +0000 (14:51 +0000)]
Owen's just pointed out that random_stir() is capable of recursion.
I'm sure I didn't mean that to happen! Added a lock to stop it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5166 cda61777-01e9-0310-a592-d414129be87e

19 years agoExplicitly ignore SCI rather than translating it into DECID. Should fix
ben [Sat, 22 Jan 2005 14:01:01 +0000 (14:01 +0000)]
Explicitly ignore SCI rather than translating it into DECID.  Should fix
bug sci-is-not-decid.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5164 cda61777-01e9-0310-a592-d414129be87e

19 years agoProbable support for first_kex_packet_follows in KEXINIT. Not significantly
ben [Sat, 22 Jan 2005 13:32:41 +0000 (13:32 +0000)]
Probable support for first_kex_packet_follows in KEXINIT.  Not significantly
tested since none of the common key-exchange protocols starts with a packet
from the server, so I don't have a server that implements this.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5162 cda61777-01e9-0310-a592-d414129be87e

19 years agoColours now work properly, including 256-colour stuff.
owen [Fri, 21 Jan 2005 00:02:59 +0000 (00:02 +0000)]
Colours now work properly, including 256-colour stuff.
Timing stuff now there, but almost certainly bogus.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5160 cda61777-01e9-0310-a592-d414129be87e

19 years agoDispose of a variable whose only use was being set to zero.
ben [Thu, 20 Jan 2005 21:45:42 +0000 (21:45 +0000)]
Dispose of a variable whose only use was being set to zero.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5156 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix/bludgeon Mac compile wrinkles.
owen [Thu, 20 Jan 2005 16:42:25 +0000 (16:42 +0000)]
Fix/bludgeon Mac compile wrinkles.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5154 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd an assertion so that short-rsa2-key-crash at least avoids segfaulting
ben [Wed, 19 Jan 2005 23:30:38 +0000 (23:30 +0000)]
Add an assertion so that short-rsa2-key-crash at least avoids segfaulting
while we come up with a better solution.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5146 cda61777-01e9-0310-a592-d414129be87e

19 years agoWhile we're here, pad USERAUTH_INFO_RESPONSEs to 256 bytes too.
ben [Wed, 19 Jan 2005 17:41:21 +0000 (17:41 +0000)]
While we're here, pad USERAUTH_INFO_RESPONSEs to 256 bytes too.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5145 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake the outgoing SSH2 sequence number unsigned, so as to avoid depending
ben [Wed, 19 Jan 2005 12:34:52 +0000 (12:34 +0000)]
Make the outgoing SSH2 sequence number unsigned, so as to avoid depending
on overflow behaviour of signed integers.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5142 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd a lengthy comment warning future front-end implementors about
simon [Wed, 19 Jan 2005 10:07:58 +0000 (10:07 +0000)]
Add a lengthy comment warning future front-end implementors about
the right and wrong way to implement the timing interface.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5137 cda61777-01e9-0310-a592-d414129be87e

19 years agoBits and pieces, mostly stubs, for the Mac port.
owen [Tue, 18 Jan 2005 22:01:25 +0000 (22:01 +0000)]
Bits and pieces, mostly stubs, for the Mac port.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5136 cda61777-01e9-0310-a592-d414129be87e

19 years agoYes we do mean assignment. Bah.
owen [Tue, 18 Jan 2005 19:09:02 +0000 (19:09 +0000)]
Yes we do mean assignment.  Bah.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5135 cda61777-01e9-0310-a592-d414129be87e

19 years agoThe terminal reengineering of r4609 left an unused `start' lying around.
owen [Tue, 18 Jan 2005 19:04:59 +0000 (19:04 +0000)]
The terminal reengineering of r4609 left an unused `start' lying around.
Remove it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5134 cda61777-01e9-0310-a592-d414129be87e

19 years agossh_pkt_getstring wants a boring int rather than an unsigned int. Let's
owen [Tue, 18 Jan 2005 09:38:58 +0000 (09:38 +0000)]
ssh_pkt_getstring wants a boring int rather than an unsigned int.  Let's
give it one.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5129 cda61777-01e9-0310-a592-d414129be87e

19 years agoCurrentish ssh.com supports single-DES in SSH2 as "des-cbc@ssh.com". It
ben [Mon, 17 Jan 2005 16:38:55 +0000 (16:38 +0000)]
Currentish ssh.com supports single-DES in SSH2 as "des-cbc@ssh.com".  It
seems to be entirely the same as "des-cbc", so supporting it is trivial
and we may as well do so.  If nothing else, it makes it clear whose fault
it is.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5128 cda61777-01e9-0310-a592-d414129be87e

19 years agoChange some function arguments to void * to placate picky compilers.
owen [Mon, 17 Jan 2005 10:07:13 +0000 (10:07 +0000)]
Change some function arguments to void * to placate picky compilers.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5124 cda61777-01e9-0310-a592-d414129be87e

19 years agoIn SSH2, rather than sending an SSH_MSG_IGNORE after every password, just
ben [Mon, 17 Jan 2005 00:50:35 +0000 (00:50 +0000)]
In SSH2, rather than sending an SSH_MSG_IGNORE after every password, just
pad the packet out to 256 bytes.  Much simpler.

This leavs ssh2_pkt_defer() unused, so ifdef it out.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5122 cda61777-01e9-0310-a592-d414129be87e

19 years agoBe a little less enthusiastic about sending SSH_MSG_CHANNEL_WINDOW_ADJUST:
ben [Sun, 16 Jan 2005 14:43:12 +0000 (14:43 +0000)]
Be a little less enthusiastic about sending SSH_MSG_CHANNEL_WINDOW_ADJUST:
only send it when it will significantly increase the server's idea of our
window.  This avoids the slew of one-byte WINDOW_ADJUSTs that an interactive
shell typically generates.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5121 cda61777-01e9-0310-a592-d414129be87e

19 years agoMac SC compiler whinges about trailing commas in enums
owen [Sun, 16 Jan 2005 14:33:43 +0000 (14:33 +0000)]
Mac SC compiler whinges about trailing commas in enums

git-svn-id: svn://svn.tartarus.org/sgt/putty@5120 cda61777-01e9-0310-a592-d414129be87e

19 years agoSupport for falling back through the list of addresses returned from
simon [Sun, 16 Jan 2005 14:29:34 +0000 (14:29 +0000)]
Support for falling back through the list of addresses returned from
a DNS lookup, whether they're IPv4, v6 or a mixture of both.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5119 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake our SSH2 maximum packet size into a constant, since it's used in several
ben [Sun, 16 Jan 2005 14:14:59 +0000 (14:14 +0000)]
Make our SSH2 maximum packet size into a constant, since it's used in several
places.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5118 cda61777-01e9-0310-a592-d414129be87e

19 years agoOwen tells me the Mac compiler complains at a char / unsigned char
simon [Sun, 16 Jan 2005 14:02:56 +0000 (14:02 +0000)]
Owen tells me the Mac compiler complains at a char / unsigned char
mismatch in the invocation of hmacmd5_key(). Do it properly with a
void * argument.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5117 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd minibidi to Mac PuTTY objects
owen [Sun, 16 Jan 2005 13:40:36 +0000 (13:40 +0000)]
Add minibidi to Mac PuTTY objects

git-svn-id: svn://svn.tartarus.org/sgt/putty@5116 cda61777-01e9-0310-a592-d414129be87e

19 years agoRewrite of Unix sk_newlistener() which should fix any possible
simon [Sun, 16 Jan 2005 12:37:19 +0000 (12:37 +0000)]
Rewrite of Unix sk_newlistener() which should fix any possible
problems involving trying to bind an IPv6 socket to an IPv4 address.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5115 cda61777-01e9-0310-a592-d414129be87e

19 years agoTurn of ICRNL in the client tty when we're not in editing mode. This
ben [Sat, 15 Jan 2005 20:39:27 +0000 (20:39 +0000)]
Turn of ICRNL in the client tty when we're not in editing mode.  This
means that we send literal CRs and let the remote pty layer work out what to
do with them, so that if it wants raw mode it can have it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5114 cda61777-01e9-0310-a592-d414129be87e

19 years agoFWHACK has been dead for years. Remove it from the Makefiles.
ben [Sat, 15 Jan 2005 18:30:05 +0000 (18:30 +0000)]
FWHACK has been dead for years.  Remove it from the Makefiles.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5113 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix prototypes for mactcp_new and ot_new.
owen [Sat, 15 Jan 2005 17:28:44 +0000 (17:28 +0000)]
Fix prototypes for mactcp_new and ot_new.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5112 cda61777-01e9-0310-a592-d414129be87e

19 years agoThrow away "./" in findfile so that the Mac makefile has valid paths.
owen [Sat, 15 Jan 2005 17:16:48 +0000 (17:16 +0000)]
Throw away "./" in findfile so that the Mac makefile has valid paths.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5111 cda61777-01e9-0310-a592-d414129be87e

19 years agoINADDR_NONE is nonstandard. Use (in_addr_t)(-1) instead.
ben [Fri, 14 Jan 2005 19:28:18 +0000 (19:28 +0000)]
INADDR_NONE is nonstandard.  Use (in_addr_t)(-1) instead.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5109 cda61777-01e9-0310-a592-d414129be87e

19 years agoDon't use GNUish pattern rules in the Unix Makefile, since they're not
ben [Fri, 14 Jan 2005 12:26:38 +0000 (12:26 +0000)]
Don't use GNUish pattern rules in the Unix Makefile, since they're not
supported by non-GNU makes.  This allows the standard Solaris /usr/ccs/bin/make
to handle that Makefile.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5108 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention Cygwin/X as a potential X server, since it's free.
ben [Thu, 13 Jan 2005 21:50:41 +0000 (21:50 +0000)]
Mention Cygwin/X as a potential X server, since it's free.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5107 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix `disconnect': arrange that we keep track of when we're expecting
simon [Tue, 11 Jan 2005 19:33:41 +0000 (19:33 +0000)]
Fix `disconnect': arrange that we keep track of when we're expecting
to see the server slam the TCP connection shut (i.e. almost never,
unless it's just sent us an SSH_MSG_DISCONNECT), and treat an
unexpected closure as a non-clean session termination. Previously
any server-initiated connection closure was being treated as a clean
exit, which was a hangover from the good old Telnet-only days.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5098 cda61777-01e9-0310-a592-d414129be87e

19 years agoVersions of OpenSSH before 2.5.4 kill the connection if the client attempts
ben [Tue, 11 Jan 2005 16:33:08 +0000 (16:33 +0000)]
Versions of OpenSSH before 2.5.4 kill the connection if the client attempts
to rekey.  Extend the description of SSH2_BUG_REKEY to cover this situation
and apply it to the relevant OpenSSH versions.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5097 cda61777-01e9-0310-a592-d414129be87e

19 years agoBah, I left a rogue event log entry lying around.
simon [Tue, 11 Jan 2005 15:33:35 +0000 (15:33 +0000)]
Bah, I left a rogue event log entry lying around.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5095 cda61777-01e9-0310-a592-d414129be87e

19 years agoSun_SSH_1.0.1 also has BUG_SSH2_REKEY.
ben [Tue, 11 Jan 2005 13:24:47 +0000 (13:24 +0000)]
Sun_SSH_1.0.1 also has BUG_SSH2_REKEY.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5094 cda61777-01e9-0310-a592-d414129be87e

19 years agoThe Unix `make install' target now allows you to define UTMP_GROUP,
simon [Tue, 11 Jan 2005 10:45:43 +0000 (10:45 +0000)]
The Unix `make install' target now allows you to define UTMP_GROUP,
in which case pterm will be installed setgid that, or to define
UTMP_USER in which case it will be installed setuid that. If you
define neither, it will be installed without any set-id bits as
before.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5093 cda61777-01e9-0310-a592-d414129be87e

19 years agoServers announcing themselves as `Sun_SSH_1.0' apparently cannot
simon [Tue, 11 Jan 2005 10:37:55 +0000 (10:37 +0000)]
Servers announcing themselves as `Sun_SSH_1.0' apparently cannot
deal with rekeys at all: they totally ignore mid-session KEXINIT
sent by the client. Hence, a new bug entry so we don't try it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5092 cda61777-01e9-0310-a592-d414129be87e