SSH client (mirror)

Simon Tatham 4e50c86040 Stop accidentally sending wchar_t as terminal input! 16 hours ago
charset e6f9df9208 sbcsgen.pl: handle \r\n line endings. 2 years ago
cmake 109c60b3bf Fix build failure on Debian bullseye from last commit. 2 months ago
contrib 22f8122b13 Suppress syntax warnings on Python 3.12. 3 months ago
crypto 23572715fd Add IANA kex name sntrup761x25519-sha512. 1 week ago
doc 01c404c03d Document the two 'legacy' options. 3 days ago
icons a101444d40 New script to draw the icons as SVG. 2 years ago
keygen 1b851758bd Add some missing #includes. 2 years ago
otherbackends c1d9da67a2 Pass the calling Socket to plug_log. 4 months ago
proxy 807ed08da0 Centralise stub plug/socket functions. 4 months ago
ssh c635c55a33 connect_to_host(): add missing sk_close on socket error. 1 month ago
stubs 807ed08da0 Centralise stub plug/socket functions. 4 months ago
terminal 4e50c86040 Stop accidentally sending wchar_t as terminal input! 16 hours ago
test f80955488a Switch CONF_remote_cmd to being STR_AMBI. 1 month ago
unicode 2c77437149 Update all Unicode tables to Unicode 16.0.0. 2 months ago
unix 29c729a8d5 Unix Pageant: fix usage message about --encrypted. 4 days ago
utils 19d479d684 Fix memory leaks in conf_try_set_*. 16 hours ago
windows 41473d915b Fix a memory leak in Windows f_open. 16 hours ago
.gitignore e273386272 Add .gitignore rules for in-tree builds. 3 years ago
Buildscr f0f058ccb4 Merge 0.81 branch. 7 months ago
Buildscr.cv c19e7215dd Replace mkfiles.pl with a CMake build system. 3 years ago
CHECKLST.txt 6b10eaa245 Post-0.81 checklist updates. 7 months ago
CMakeLists.txt 75b6e12f84 Add two new string types to the Conf system. 1 month ago
LATEST.VER a8601a72a9 Update version number for 0.81 release. 7 months ago
LICENCE 8f34c84074 It's a new year. 9 months ago
README b7174344e6 README: clarify that you need to run vcvars32 first. 4 months ago
aqsync.c 0c44fa85df Build outgoing SSH agent requests in a strbuf. 6 years ago
be_list.c 53f7da8ce7 Merge be_*.c into one ifdef-controlled module. 3 years ago
callback.c 8d747d8029 Add lots of missing 'static' keywords. 4 years ago
cgtest.c a2ff884512 Richer data type for interactive prompt results. 2 years ago
clicons.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 4 years ago
cmdgen.c ecfa6b2734 Don't print long usage messages on a command-line error. 1 month ago
cmdline.c 52b2419028 Make the -legacy-foo options not SAVEABLE. 16 hours ago
conf-enums.h b29758c1b6 Add ability to specify custom load and save separately. 1 year ago
conf.h f80955488a Switch CONF_remote_cmd to being STR_AMBI. 1 month ago
config.c dc4ac7c4e1 conf_editbox_handler: support the new string types. 1 month ago
console.c 968ac6dbf0 Merge tag '0.80'. 11 months ago
console.h d1dc1e927c Mention the host name in host-key prompts. 3 years ago
defs.h 841bf321d4 New abstraction for command-line arguments. 1 month ago
dialog.c 1adcb200f7 dialog.c: give ctrl->fileselect.filter an opaque type. 1 year ago
dialog.h 55d413a47a Add UTF-8 versions of dlg_editbox_{get,set}. 1 month ago
errsock.c 807ed08da0 Centralise stub plug/socket functions. 4 months ago
import.c 20f818af12 Rename 'ret' variables passed from allocation to return. 2 years ago
ldisc.c 1a7e4ec8d4 New centralised version of local line editing. 1 year ago
licence.pl af9910962a Separate the functions of licence.pl. 3 years ago
logging.c ab8ae9a385 Merge log file name tweaks from 'pre-0.79'. 1 year ago
marshal.h 4f756d2a4d Rework Unicode conversion APIs to use a BinarySink. 1 month ago
misc.h c4c4d2c5cb dup_mb_to_wc, dup_wc_to_mb: remove the 'flags' parameter. 1 month ago
mksrcarc.sh a01deea1b1 Updates to mksrcarc.sh. 2 years ago
mkunxarc.sh 31f496b59c Integrate the 'doc' subdir into the CMake system. 3 years ago
mpint.h d5af33da53 Utility function mp_resize. 2 years ago
network.h 807ed08da0 Centralise stub plug/socket functions. 4 months ago
pageant.c f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 4 months ago
pageant.h b8374f1bdf winpgnt: menu options to delete/reencrypt everything. 3 years ago
pinger.c 5d718ef64b Whitespace rationalisation of entire code base. 5 years ago
pscp.c 1b4a88f1fe pscp: Fix short help message. 4 days ago
psftp.c 11d1f3776b Don't exit(1) after printing PGP key fingerprints. 1 month ago
psftp.h 841bf321d4 New abstraction for command-line arguments. 1 month ago
psftpcommon.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 years ago
psocks.c 841bf321d4 New abstraction for command-line arguments. 1 month ago
psocks.h 841bf321d4 New abstraction for command-line arguments. 1 month ago
putty.h 74150633f1 Add and use cmdline_arg_to_filename(). 1 month ago
puttymem.h 5935c68288 Update source file names in comments and docs. 2 years ago
release.pl 49aa6c2b08 Remove FTP from release machinery. 2 years ago
settings.c 8e6797ecfd Typo: remove redundant word in a comment. 1 month ago
sign.sh 79ff0d086a sign.sh: stop telling gpg to load the 'idea' extension. 2 months ago
specials.h fd43ff6e27 Move SessionSpecial definitions into their own header. 1 year ago
ssh.h f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 4 months ago
sshcr.h 6fcc7ed728 Formatting: fix a few mis-spaced assignments. 1 year ago
sshkeygen.h 6520574e58 Side-channel-safe rewrite of the Miller-Rabin test. 3 years ago
sshpubk.c 8005738eaf Fix infinite loop on a truncated RFC4176 public key file. 3 months ago
sshrand.c 3daa36293e Remove dependency of sshrand.c on SHA-512. 4 years ago
storage.h 4249b39ed3 New Seat method, seat_nonfatal(). 2 years ago
timing.c 5d718ef64b Whitespace rationalisation of entire code base. 5 years ago
tree234.h 4b8dc56284 Formatting: remove spurious spaces in 'type * var'. 2 years ago
version.h c19e7215dd Replace mkfiles.pl with a CMake build system. 3 years ago
x11disp.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 years ago

README

PuTTY source code README
========================

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

PuTTY is built using CMake . To compile in the
simplest way (on any of Linux, Windows or Mac), the general method is
to run these commands in the source directory:

cmake .
cmake --build .

These commands will expect to find a usable compile toolchain on your
path. So if you're building on Windows with MSVC, you'll need to make
sure that the MSVC compiler (cl.exe) is on your path, by running one
of the 'vcvars32.bat' setup scripts provided with the tools. Then the
cmake commands above should work.

To install in the simplest way on Linux or Mac:

cmake --build . --target install

On Unix, 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.) The cmake install step
doesn't attempt to add these privileges, so if you want user login
recording to work, you should manually ch{own,grp} and chmod the
pterm binary yourself after installation. If you don't do this,
pterm will still work, but not update the user login databases.

Documentation (in various formats including Windows Help and Unix
`man' pages) is built from the Halibut (`.but') files in the `doc'
subdirectory. 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.