SSH client (mirror)

Simon Tatham 11192e2e33 Backport of the pre-0.77 demo features to 0.76. 2 yıl önce
charset 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
contrib 334d87251e New script contrib/plinkfs. 4 yıl önce
doc 1fd7baa734 Update version number for 0.76 release. 3 yıl önce
icons 2ec2b796ed Migrate all Python scripts to Python 3. 5 yıl önce
test 97137f5cfd PuTTYgen: explicitly use 'Kbyte' in Argon2 naming. 3 yıl önce
unix 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
windows 11192e2e33 Backport of the pre-0.77 demo features to 0.76. 2 yıl önce
.gitignore 1b40d9f3ba Auxiliary application: 'psocks', a simple SOCKS server. 5 yıl önce
Buildscr 1fd7baa734 Update version number for 0.76 release. 3 yıl önce
Buildscr.cv 3481d16b0f Remove #ifdef COVERITY. 3 yıl önce
CHECKLST.txt d851df486f Fix build failure at -DNOT_X_WINDOWS. 4 yıl önce
LATEST.VER 1fd7baa734 Update version number for 0.76 release. 3 yıl önce
LICENCE 7c27cdc16e It's a new year. 4 yıl önce
README 4ec2791945 Remove Makefile.bor. 7 yıl önce
Recipe 11192e2e33 Backport of the pre-0.77 demo features to 0.76. 2 yıl önce
agentf.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
aqsync.c 0c44fa85df Build outgoing SSH agent requests in a strbuf. 6 yıl önce
be_all.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
be_all_s.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
be_misc.c 8d186c3c93 Formatting change to braces around one case of a switch. 5 yıl önce
be_none.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
be_nos_s.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
be_nossh.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
be_ssh.c 0f9e0d6e41 New GUI for protocol selection. 3 yıl önce
callback.c 8d747d8029 Add lots of missing 'static' keywords. 5 yıl önce
cgtest.c ef5540c185 cmdgen: support configurable key fingerprint type. 4 yıl önce
clicons.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
cmdgen.c 27a04d96a3 cmdgen: add missing null pointer check in --dump mode. 3 yıl önce
cmdline.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
conf.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
config.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
configure.ac f3ee4dbe20 Remove -Werror from all the default cflags. 3 yıl önce
console.c 1b1a91fa3d Console host key prompts: add 'more info' action. 4 yıl önce
console.h 3c6ab5bbb7 Factor out some common code in {ux,win}cons.c. 4 yıl önce
cproxy.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
defs.h 736646b0c9 Fix a few warnings reported by Visual Studio. 3 yıl önce
dialog.c 1276c13e6a dialog system: add a side-by-side alignment feature. 3 yıl önce
dialog.h 1276c13e6a dialog system: add a side-by-side alignment feature. 3 yıl önce
ecc.c c9a8fa639e New query function ecc_montgomery_is_identity. 5 yıl önce
ecc.h c9a8fa639e New query function ecc_montgomery_is_identity. 5 yıl önce
errsock.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
fuzzterm.c 329bdb344c Make TermWin's palette_get_overrides() take a Terminal *. 3 yıl önce
import.c 2762a2025f Merge the 0.74 release branch back to master. 4 yıl önce
ldisc.c cd3e917fd0 Remove assertion that len != 0 in ldisc_send. 4 yıl önce
ldisc.h e0a76971cc New array-growing macros: sgrowarray and sgrowarrayn. 6 yıl önce
licence.pl 774d37a0dc Autogenerate licence text in doc subdir from LICENCE. 9 yıl önce
logging.c 76430f8237 Assorted benign warning fixes. 5 yıl önce
mainchan.c b4e1110892 Relax criteria for accepting agent-forwarding channel-opens. 4 yıl önce
marshal.c 50fce01958 Fix a gcc compile failure due to -Werror. 5 yıl önce
marshal.h 32d61d7c48 Add some more marshalling functions, for file parsing. 5 yıl önce
memory.c 88d5948ead Fix undefined behaviour in safegrowarray. 5 yıl önce
millerrabin.c 750f5222b2 Factor out Miller-Rabin checking into its own file. 5 yıl önce
minibidi.c 8d186c3c93 Formatting change to braces around one case of a switch. 5 yıl önce
misc.c 3461196197 Pass more information to interactive host key check. 4 yıl önce
misc.h 609502b04b Add utility function 'memxor'. 4 yıl önce
miscucs.c 7762d71226 New centralised helper function dup_mb_to_wc(). 9 yıl önce
mkauto.sh a947c49bec Move the Unix configure script up to the top level. 11 yıl önce
mkfiles.pl f3ee4dbe20 Remove -Werror from all the default cflags. 3 yıl önce
mksrcarc.sh 65d3afcaa1 Remove all trace of the Inno Setup installer. 6 yıl önce
mkunxarc.sh 4c49e29b19 Turn mkunxarc.sh back into an ordinary sh script. 10 yıl önce
mpint.c 736646b0c9 Fix a few warnings reported by Visual Studio. 3 yıl önce
mpint.h 20a9912c7c Add mp_copy_integer_into function. 5 yıl önce
mpint_i.h dec79cf152 Start a file of 'unsafe' mp_int functions. 5 yıl önce
mpunsafe.c dec79cf152 Start a file of 'unsafe' mp_int functions. 5 yıl önce
mpunsafe.h dec79cf152 Start a file of 'unsafe' mp_int functions. 5 yıl önce
network.h 630cac3aa2 Log when a network connection succeeds. 5 yıl önce
nocmdline.c 575ee4f8fc Make cmdline_tooltype a const int. 5 yıl önce
nocproxy.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
nogss.c d764872e9e Rewrite gprefs() in settings.c so that its input mapping includes 13 yıl önce
noprint.c 6bf3b49471 noprint.c: fix compile failure. 4 yıl önce
noproxy.c a058054253 Introduce noproxy.c. 4 yıl önce
norand.c 06531c3b61 Centralise 'no random numbers' stubs into norand.c. 5 yıl önce
noshare.c 40e648db46 Fix type error in noshare.c. 4 yıl önce
noterm.c 4db5c2899f Make calling term_nopaste() a cross-platform feature. 11 yıl önce
notiming.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
nullplug.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
pageant.c 7c42ca0280 pageant_get_keylist: add missing init of kl->broken. 3 yıl önce
pageant.h b8374f1bdf winpgnt: menu options to delete/reencrypt everything. 3 yıl önce
pgssapi.c a0b91e99b8 Fix a missing } in a GSSAPI-related comment. 6 yıl önce
pgssapi.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
pinger.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
pockle.c 1335e56d40 Fix false negative in Pockle discriminant check. 5 yıl önce
portfwd.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
pproxy.c 96ec2c2500 Get rid of lots of implicit pointer types. 6 yıl önce
primecandidate.c 115686527c PrimeCandidateSource: add one-shot mode. 5 yıl önce
proxy.c 83b07a5c67 Fix downright weird line breaking. 4 yıl önce
proxy.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
pscp.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
psftp.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
psftp.h d20d3b20fd Remove FLAG_VERBOSE. 5 yıl önce
psftpcommon.c 70fd577e40 Fall back to not sorting large dirs in pscp -ls or psftp 'ls'. 5 yıl önce
psocks.c ba599bf58c psocks: remove print_c_string(). 3 yıl önce
psocks.h 1b40d9f3ba Auxiliary application: 'psocks', a simple SOCKS server. 5 yıl önce
putty.h 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
puttymem.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
puttyps.h e30e6b0f1d Delete the old 'macosx' directory completely. 9 yıl önce
raw.c ad3c907a62 Remove NULL initialisers in BackendVtables. 4 yıl önce
release.pl fd41f5dac0 release.pl: fix misspelled option in comment. 3 yıl önce
resource.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
rlogin.c ad3c907a62 Remove NULL initialisers in BackendVtables. 4 yıl önce
scpserver.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sesschan.c e9e6c03c6e Uppity: add stunt for unauthorised agent forwarding attempts. 4 yıl önce
sessprep.c fdf7de4a1c sessprep: fix detection of unbracketed IPv6 literals. 6 yıl önce
settings.c 11192e2e33 Backport of the pre-0.77 demo features to 0.76. 2 yıl önce
sftp.c edadfa7093 Impose an upper bound on incoming SFTP packet length. 3 yıl önce
sftp.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
sftpcommon.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
sftpserver.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sign.sh 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
smallprimes.c 9af72ca1e8 Move init_primes_array out into its own file. 5 yıl önce
ssh.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
ssh.h 97137f5cfd PuTTYgen: explicitly use 'Kbyte' in Argon2 naming. 3 yıl önce
ssh1bpp.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
ssh1censor.c 751a989091 Add and use BinarySource_*INIT_PL. 6 yıl önce
ssh1connection-client.c b4e1110892 Relax criteria for accepting agent-forwarding channel-opens. 4 yıl önce
ssh1connection-server.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
ssh1connection.c b4e1110892 Relax criteria for accepting agent-forwarding channel-opens. 4 yıl önce
ssh1connection.h b4e1110892 Relax criteria for accepting agent-forwarding channel-opens. 4 yıl önce
ssh1login-server.c 2762a2025f Merge the 0.74 release branch back to master. 4 yıl önce
ssh1login.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
ssh2bpp-bare.c 1243be890a Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 4 yıl önce
ssh2bpp.c 1243be890a Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 4 yıl önce
ssh2censor.c 751a989091 Add and use BinarySource_*INIT_PL. 6 yıl önce
ssh2connection-client.c b4e1110892 Relax criteria for accepting agent-forwarding channel-opens. 4 yıl önce
ssh2connection-server.c 75fccc5d58 Pass SshServerConfig through to sesschan.c. 5 yıl önce
ssh2connection.c a859955689 Fix premature exit if 'plink -shareexists' happens early. 4 yıl önce
ssh2connection.h a859955689 Fix premature exit if 'plink -shareexists' happens early. 4 yıl önce
ssh2kex-client.c 3461196197 Pass more information to interactive host key check. 4 yıl önce
ssh2kex-server.c e105908661 Support rsa-sha2-* host keys in Uppity. 4 yıl önce
ssh2transhk.c 67881a129c Add missing del234 in ssh_transient_hostkey_cache_add. 5 yıl önce
ssh2transport.c 46b23c581a ssh2kex-client.c: get rid of s->fingerprint. 4 yıl önce
ssh2transport.h 46b23c581a ssh2kex-client.c: get rid of s->fingerprint. 4 yıl önce
ssh2userauth-server.c 2762a2025f Merge the 0.74 release branch back to master. 4 yıl önce
ssh2userauth.c 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
sshaes.c 8f3a0ea69f Fix Arm crypto build failure on clang post-12. 3 yıl önce
ssharcf.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshargon2.c 52fa23c7fe Argon2 hprime: remove pointless bounds check. 3 yıl önce
sshauxcrypt.c c61158aa34 Add an IV argument to aes_{en,de}crypt_pubkey. 4 yıl önce
sshbcrypt.c 0d2d20aad0 Access all hashes and MACs through the standard API. 6 yıl önce
sshblake2.c 5c8f3bf924 Add an implementation of BLAKE2b. 4 yıl önce
sshblowf.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshblowf.h 229af2b5bf Turn SSH-2 ciphers into a classoid. 6 yıl önce
sshbpp.h 1243be890a Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 4 yıl önce
sshccp.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshchan.h b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshcommon.c 04758cb3ec Allow pre-storing host key fingerprints of all types. 4 yıl önce
sshcr.h 76430f8237 Assorted benign warning fixes. 5 yıl önce
sshcrc.c 2e866e1fb7 Rewrite CRC implementation to be constant-time. 6 yıl önce
sshcrcda.c 8d747d8029 Add lots of missing 'static' keywords. 5 yıl önce
sshdes.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshdh.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
sshdss.c 2762a2025f Merge the 0.74 release branch back to master. 4 yıl önce
sshdssg.c 18be6aec58 PrimeCandidateSource: remember prime factors of n-1. 5 yıl önce
sshecc.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshecdsag.c 79d3c1783b New vtable API for keygen progress reporting. 5 yıl önce
sshgss.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
sshgssc.c 1547c9c1ec Make dupcat() into a variadic macro. 5 yıl önce
sshgssc.h d515e4f1a3 Support GSS key exchange, for Kerberos 5 only. 6 yıl önce
sshhmac.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshkeygen.h 844e766b03 RSA generation: option to generate strong primes. 5 yıl önce
sshmac.c 61dec9a07a sshmac.c: remove excessive return statement 6 yıl önce
sshmd5.c 456120cfac Rewrite MD5 implementation in my modern style. 4 yıl önce
sshnogss.c a1f3b7a358 Post-release destabilisation! Completely remove the struct type 13 yıl önce
sshppl.h 1dc5659aa6 New option to reject 'trivial' success of userauth. 3 yıl önce
sshprime.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshprng.c 7003b43963 Stop using mp_int in sshprng.c. 4 yıl önce
sshpubk.c fd3f05d215 Fix tight loop on reading truncated key files. 3 yıl önce
sshrand.c 3daa36293e Remove dependency of sshrand.c on SHA-512. 4 yıl önce
sshrsa.c 995e2f7164 Add API for getting all of a key's fingerprints. 4 yıl önce
sshrsag.c 844e766b03 RSA generation: option to generate strong primes. 5 yıl önce
sshserver.c e9e6c03c6e Uppity: add stunt for unauthorised agent forwarding attempts. 4 yıl önce
sshserver.h e9e6c03c6e Uppity: add stunt for unauthorised agent forwarding attempts. 4 yıl önce
sshsh256.c 8f3a0ea69f Fix Arm crypto build failure on clang post-12. 3 yıl önce
sshsh512.c 31cd5ee19b Fix buffer overflow in NEON SHA-384 output. 4 yıl önce
sshsha.c 8f3a0ea69f Fix Arm crypto build failure on clang post-12. 3 yıl önce
sshsha3.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshshare.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshsignals.h 72eca76d20 New system for handling SSH signals. 6 yıl önce
sshttymodes.h dead35dd0f New system for handling SSH terminal modes. 6 yıl önce
sshutils.c 132d48b8f3 Remove redundant #includes from sshutils.c. 4 yıl önce
sshverstring.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce
sshzlib.c 736646b0c9 Fix a few warnings reported by Visual Studio. 3 yıl önce
storage.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
stripctrl.c 0716880f68 stripctrl: clean up precarious handling of 'width'. 5 yıl önce
supdup.c df2994a05a Make the backend_init error message dynamic. (NFC) 4 yıl önce
telnet.c df2994a05a Make the backend_init error message dynamic. (NFC) 4 yıl önce
terminal.c 746d87fc6f Fix palette escape sequences sometimes not working. 3 yıl önce
terminal.h 334688db81 Apply UPDATE_DELAY in arrears, not in advance. 4 yıl önce
testback.c 11192e2e33 Backport of the pre-0.77 demo features to 0.76. 2 yıl önce
testcrypt.c 1da353e649 Introduce OpenSSH-compatible SHA256 key fingerprinting. 4 yıl önce
testcrypt.h 1da353e649 Introduce OpenSSH-compatible SHA256 key fingerprinting. 4 yıl önce
testsc.c 08d17140a0 Introduce PPK file format version 3. 4 yıl önce
testzlib.c 2f832bb21f Ensure test programs have a dputs(). 4 yıl önce
time.c 162398e55e Comment explaining location in top-level directory. 20 yıl önce
timing.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
tree234.c cbfba7a0e9 Greatly improve printf format-string checking. 5 yıl önce
tree234.h 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
utils.c 995e2f7164 Add API for getting all of a key's fingerprints. 4 yıl önce
version.c 787181bb12 Add some missing #includes. 5 yıl önce
version.h 650404f32c Server prep: pass "implementation name" to ssh_verstring_new. 6 yıl önce
wcwidth.c 20d1c47484 wcwidth: update wide[] array to Unicode 13.0.0. 4 yıl önce
wildcard.c 5d718ef64b Whitespace rationalisation of entire code base. 5 yıl önce
x11fwd.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 yıl önce

README

This is the README for the source archive of PuTTY, a free Windows
and Unix Telnet and SSH client.

If you want to rebuild PuTTY from source, we provide a variety of
Makefiles and equivalents. (If you have fetched the source from
Git, you'll have to generate the Makefiles yourself -- see
below.)

There are various compile-time directives that you can use to
disable or modify certain features; it may be necessary to do this
in some environments. They are documented in `Recipe', and in
comments in many of the generated Makefiles.

For building on Windows:

- windows/Makefile.vc is for command-line builds on MS Visual C++
systems. Change into the `windows' subdirectory and type `nmake
-f Makefile.vc' to build all the PuTTY binaries.

As of 2017, we successfully compile PuTTY with both Visual Studio
7 (2003) and Visual Studio 14 (2015), so our guess is that it will
probably build with versions in between those as well.

(The binaries from Visual Studio 14 are only compatible with
Windows XP and up. Binaries from Visual Studio 7 ought to work
with anything from Windows 95 onward.)

- Inside the windows/MSVC subdirectory are MS Visual Studio project
files for doing GUI-based builds of the various PuTTY utilities.
These have been tested on Visual Studio 7 and 10.

You should be able to build each PuTTY utility by loading the
corresponding .dsp file in Visual Studio. For example,
MSVC/putty/putty.dsp builds PuTTY itself, MSVC/plink/plink.dsp
builds Plink, and so on.

- windows/Makefile.mgw is for MinGW / Cygwin installations. Type
`make -f Makefile.mgw' while in the `windows' subdirectory to
build all the PuTTY binaries.

MinGW and friends can lag behind other toolchains in their support
for the Windows API. Compile-time levers are provided to exclude
some features; the defaults are set appropriately for the
'mingw-w64' cross-compiler provided with Ubuntu 14.04. If you are
using an older toolchain, you may need to exclude more features;
alternatively, you may find that upgrading to a recent version of
the 'w32api' package helps.

- windows/Makefile.lcc is for lcc-win32. Type `make -f
Makefile.lcc' while in the `windows' subdirectory. (You will
probably need to specify COMPAT=-DNO_MULTIMON.)

- Inside the windows/DEVCPP subdirectory are Dev-C++ project
files for doing GUI-based builds of the various PuTTY utilities.

The PuTTY team actively use Makefile.vc (with VC7/10) and Makefile.mgw
(with mingw32), so we'll probably notice problems with those
toolchains fairly quickly. Please report any problems with the other
toolchains mentioned above.

For building on Unix:

- unix/configure is for Unix and GTK. If you don't have GTK, you
should still be able to build the command-line utilities (PSCP,
PSFTP, Plink, PuTTYgen) using this script. To use it, change into
the `unix' subdirectory, run `./configure' and then `make'. Or you
can do the same in the top-level directory (we provide a little
wrapper that invokes configure one level down), which is more like
a normal Unix source archive but doesn't do so well at keeping the
per-platform stuff in each platform's subdirectory; it's up to you.

- unix/Makefile.gtk and unix/Makefile.ux are for non-autoconfigured
builds. These makefiles expect you to change into the `unix'
subdirectory, then run `make -f Makefile.gtk' or `make -f
Makefile.ux' respectively. Makefile.gtk builds all the programs but
relies on Gtk, whereas Makefile.ux builds only the command-line
utilities and has no Gtk dependence.

- For the graphical utilities, any of Gtk+-1.2, Gtk+-2.0, and Gtk+-3.0
should be supported. If you have more than one installed, you can
manually specify which one you want by giving the option
'--with-gtk=N' to the configure script where N is 1, 2, or 3.
(The default is the newest available, of course.) In the absence
of any Gtk version, the configure script will automatically
construct a Makefile which builds only the command-line utilities;
you can manually create this condition by giving configure the
option '--without-gtk'.

- pterm would like to be setuid or setgid, as appropriate, to permit
it to write records of user logins to /var/run/utmp and
/var/log/wtmp. (Of course it will not use this privilege for
anything else, and in particular it will drop all privileges before
starting up complex subsystems like GTK.) By default the makefile
will not attempt to add privileges to the pterm executable at 'make
install' time, but you can ask it to do so by running configure
with the option '--enable-setuid=USER' or '--enable-setgid=GROUP'.

- The Unix Makefiles have an `install' target. Note that by default
it tries to install `man' pages; if you have fetched the source via
Git then you will need to have built these using Halibut
first - see below.

- It's also possible to build the Windows version of PuTTY to run
on Unix by using Winelib. To do this, change to the `windows'
directory and run `make -f Makefile.mgw CC=winegcc RC=wrc'.

All of the Makefiles are generated automatically from the file
`Recipe' by the Perl script `mkfiles.pl' (except for the Unix one,
which is generated by the `configure' script; mkfiles.pl only
generates the input to automake). Additions and corrections to Recipe,
mkfiles.pl and/or configure.ac are much more useful than additions and
corrections to the actual Makefiles, Makefile.am or Makefile.in.

The Unix `configure' script and its various requirements are generated
by the shell script `mkauto.sh', which requires GNU Autoconf, GNU
Automake, and Gtk; if you've got the source from Git rather
than using one of our source snapshots, you'll need to run this
yourself. The input file to Automake is generated by mkfiles.pl along
with all the rest of the makefiles, so you will need to run mkfiles.pl
and then mkauto.sh.

Documentation (in various formats including Windows Help and Unix
`man' pages) is built from the Halibut (`.but') files in the `doc'
subdirectory using `doc/Makefile'. If you aren't using one of our
source snapshots, you'll need to do this yourself. Halibut can be
found at .

The PuTTY home web site is

https://www.chiark.greenend.org.uk/~sgtatham/putty/

If you want to send bug reports or feature requests, please read the
Feedback section of the web site before doing so. Sending one-line
reports saying `it doesn't work' will waste your time as much as
ours.

See the file LICENCE for the licence conditions.