SSH client (mirror)

Jacob Nevins 6ec424059c Windows: fix leak of a Filename. 2 days ago
charset e6f9df9208 sbcsgen.pl: handle \r\n line endings. 2 years ago
cmake d96a4983be gitcommit.cmake: work around Windows pathname aliasing. 2 weeks ago
contrib a3f22a2cf9 Use the new 'HYBRID' names for the hybrid KEX packets. 1 month ago
crypto 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
doc c91437bae3 Update cmake_minimum_required to avoid warnings on sid. 3 weeks ago
icons a101444d40 New script to draw the icons as SVG. 2 years ago
keygen 1b851758bd Add some missing #includes. 2 years ago
otherbackends 897ecf4678 SUPDUP: make the TDCRL command clear to end of line. 4 weeks ago
proxy 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
ssh 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
stubs 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
terminal 193e2ec063 Rework identification of OSC sequences. 2 weeks ago
test 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
unicode 2c77437149 Update all Unicode tables to Unicode 16.0.0. 3 months ago
unix 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
utils c2077f888c Fix compile warnings in tree234 tests. 3 weeks ago
windows 6ec424059c Windows: fix leak of a Filename. 2 days ago
.gitignore e273386272 Add .gitignore rules for in-tree builds. 3 years ago
Buildscr b26077b1ae Update version number for 0.82 release. 1 month ago
Buildscr.cv c19e7215dd Replace mkfiles.pl with a CMake build system. 3 years ago
CHECKLST.txt d4e848a962 CHECKLST: update for some extra test builds. 1 month ago
CMakeLists.txt c91437bae3 Update cmake_minimum_required to avoid warnings on sid. 3 weeks ago
LATEST.VER b26077b1ae Update version number for 0.82 release. 1 month ago
LICENCE e3272f19e0 It's a new year. 2 days ago
README b7174344e6 README: clarify that you need to run vcvars32 first. 6 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. 5 years ago
cgtest.c a2ff884512 Richer data type for interactive prompt results. 3 years ago
clicons.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 4 years ago
cmdgen.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
cmdline.c 52b2419028 Make the -legacy-foo options not SAVEABLE. 1 month 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. 3 months ago
config.c f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 3 weeks ago
console.c 968ac6dbf0 Merge tag '0.80'. 1 year ago
console.h d1dc1e927c Mention the host name in host-key prompts. 3 years ago
defs.h 16629d3bbc Add more variants of SHAKE. 1 month ago
dialog.c f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 3 weeks ago
dialog.h f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 3 weeks ago
errsock.c 807ed08da0 Centralise stub plug/socket functions. 6 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. 3 months ago
misc.h 1ef0fbaafc Add helper function dupwcscat(). 3 weeks 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. 6 months ago
pageant.c f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 6 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 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
psftp.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
psftp.h 841bf321d4 New abstraction for command-line arguments. 3 months ago
psftpcommon.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 years ago
psocks.c 841bf321d4 New abstraction for command-line arguments. 3 months ago
psocks.h 841bf321d4 New abstraction for command-line arguments. 3 months ago
putty.h f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 3 weeks ago
puttymem.h 5935c68288 Update source file names in comments and docs. 3 years ago
release.pl b97f20d03a release.pl: Adjust pscp/plink transcript updater. 1 month ago
settings.c e98615f0ba New post-quantum kex: ML-KEM, and three hybrids of it. 1 month ago
sign.sh 79ff0d086a sign.sh: stop telling gpg to load the 'idea' extension. 4 months ago
specials.h fd43ff6e27 Move SessionSpecial definitions into their own header. 1 year ago
ssh.h 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks ago
sshcr.h 6fcc7ed728 Formatting: fix a few mis-spaced assignments. 2 years 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. 5 months ago
sshrand.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 3 weeks 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.