Explicitly set the owning SID in make_private_security_descriptor.

Philippe Maupertuis reports that on one particular machine, Windows
causes the named pipe created by upstream PuTTY to be owned by the
Administrators group SID rather than the user's SID, which defeats the
security check in the downstream PuTTY. No other machine has been
reported to do this, but nonetheless it's clearly a thing that can
sometimes happen, so we now work around it by specifying explicitly in
the security descriptor for the pipe that its owner should be the user
SID rather than any other SID we might have the right to use.


git-svn-id: svn://svn.tartarus.org/sgt/putty@10188 cda61777-01e9-0310-a592-d414129be87e
Check for SURROGATE defines individually.

In mingw32 cross environment on CentOS 6.4 IS_HIGH_SURROGATE is
defined, but not the START and END macros.
Add .gitignore
Add defines and enums for GSS key exchange.
Add support for GSS verify MIC.

For both UNIX and Windows.
Based on Matt Loar's code from https://github.com/mloar/putty
Add ssh_kexes for GSS key exchange.

For both UNIX and Windows.
Based on Matt Loar's code from https://github.com/mloar/putty
Move gsslib to global Ssh struct.

Prepare for GSS key exchange.
Add null host key implementation (RFC 4462, section 5).

When using GSS key exchange the server need not have an RSA or DSS
host key to authenticate itself.
Move gss_srv_name to global Ssh struct.

Prepare for GSS key exchange.
Init gsslibs before key exchange.

Also add can_gssapi to global Ssh struct, and rename locals in
do_ssh2_authconn() to *_gssapi_mic.

Prepare for GSS key exchange.
Break out ssh2_get_nbits().

Prepare for GSS key exchange.
Do GSS import_name before key exchange.

Prepare for GSS key exchange.
Make authentication gss_ctx global.

Prepare for GSS key exchange.
Add support for GSS-API key exchange.

Includes support for "null" host key algorithm and gssapi-keyex
authentication.

Based on Matt Loar's code from https://github.com/mloar/putty
Use 64-bit MIT Kerberos DLL on 64-bit builds.
Add 64-bit manifest, and use for 64-bit builds.
Make compilation work on MinGW64 < 2.0.2.

MinGW64 defines the PROPERTYKEY since at least version 1.0, but didn't
define PROPERTYKEY_DEFINED until version 2.0.2.
Allow 3:rd party builds to be properly versioned.
Add README.md with info specific to the GSS-API keyex version.
Update .gitignore