Don't show SSH connection sharing options mid-session (they don't work).


git-svn-id: svn://svn.tartarus.org/sgt/putty@10228 cda61777-01e9-0310-a592-d414129be87e
Update command-line help and man pages for -hostkey.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10229 cda61777-01e9-0310-a592-d414129be87e
Move -sercfg out of the "SSH only" section of command-line help.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10230 cda61777-01e9-0310-a592-d414129be87e
Update transcripts for recent command-line help changes.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10231 cda61777-01e9-0310-a592-d414129be87e
Add some index terms for host key overrides.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10232 cda61777-01e9-0310-a592-d414129be87e
Bodge around the failing Coverity build in winshare.c.

The winegcc hack I use for my Coverity builds is currently using a
version of wincrypt.h that's missing a couple of constants I use.
Ensure they're defined by hand, but (just in case I defined them
_wrong_) also provide a command-line define so I can do that only in
the case of Coverity builds.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10234 cda61777-01e9-0310-a592-d414129be87e
Correct man page description of -hostkey to match actual behaviour.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10235 cda61777-01e9-0310-a592-d414129be87e
Rework versioning system to not depend on Subversion.

I've shifted away from using the SVN revision number as a monotonic
version identifier (replacing it in the Windows version resource with
a count of days since an arbitrary epoch), and I've removed all uses
of SVN keyword expansion (replacing them with version information
written out by Buildscr).

While I'm at it, I've done a major rewrite of the affected code which
centralises all the computation of the assorted version numbers and
strings into Buildscr, so that they're all more or less alongside each
other rather than scattered across multiple source files.

I've also retired the MD5-based manifest file system. A long time ago,
it seemed like a good idea to arrange that binaries of PuTTY would
automatically cease to identify themselves as a particular upstream
version number if any changes were made to the source code, so that if
someone made a local tweak and distributed the result then I wouldn't
get blamed for the results. Since then I've decided the whole idea is
more trouble than it's worth, so now distribution tarballs will have
version information baked in and people can just cope with that.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10262 cda61777-01e9-0310-a592-d414129be87e
Add a missing bounds check in the Deflate decompressor.

The symbol alphabet used for encoding ranges of backward distances in
a Deflate compressed block contains 32 symbol values, but two of them
(symbols 30 and 31) have no meaning, and hence it is an encoding error
for them to appear in a compressed block. If a compressed file did so
anyway, this decompressor would index past the end of the distcodes[]
array. Oops.

This is clearly a bug, but I don't believe it's a vulnerability. The
nonsense record we load from distcodes[] in this situation contains an
indeterminate bogus value for 'extrabits' (how many more bits to read
from the input stream to complete the backward distance) and also for
the offset to add to the backward distance after that. But neither of
these can lead to a buffer overflow: if extrabits is so big that
dctx->nbits (which is capped at 32) never exceeds it, then the
decompressor will simply swallow all further data without producing
any output, and otherwise the decompressor will consume _some_ number
of spare bits from the input, work out a backward distance and an
offset in the sliding window which will be utter nonsense and probably
out of bounds, but fortunately will then AND the offset with 0x7FFF at
the last minute, which makes it safe again. So I think the worst that
a malicious compressor can do is to cause the decompressor to generate
strange data, which of course it could do anyway if it wanted to by
sending that same data legally compressed.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10278 cda61777-01e9-0310-a592-d414129be87e
Turn mkunxarc.sh back into an ordinary sh script.

It became bash-dependent in r9229 because I used a bashism to remove
the 'r' from the front of $SVN_REV, but that's not needed any more.


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