SSH client (mirror)

Simon Tatham 79ff0d086a sign.sh: stop telling gpg to load the 'idea' extension. 1 week ago
charset e6f9df9208 sbcsgen.pl: handle \r\n line endings. 2 years ago
cmake 109c60b3bf Fix build failure on Debian bullseye from last commit. 1 week ago
contrib 22f8122b13 Suppress syntax warnings on Python 3.12. 1 month ago
crypto a5bcf3d384 Pad RSA signature blobs if they're made with SHA-2. 2 months ago
doc 6439c93b43 Add a Features checkbox to disable bracketed paste mode. 1 month 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. 2 months ago
proxy 807ed08da0 Centralise stub plug/socket functions. 2 months ago
ssh 807ed08da0 Centralise stub plug/socket functions. 2 months ago
stubs 807ed08da0 Centralise stub plug/socket functions. 2 months ago
terminal 52bb6a3fe2 Fix warnings building on Ubuntu 24.04. 1 week ago
test 8005738eaf Fix infinite loop on a truncated RFC4176 public key file. 1 month ago
unicode d3e186e81b Function to check a UTF-8 string for unknown characters. 1 year ago
unix 109c60b3bf Fix build failure on Debian bullseye from last commit. 1 week ago
utils 7618e079f5 Log outgoing address + port numbers in the Event Log. 2 months ago
windows e11c83a4a5 Windows: add 'Copy' and 'Paste' to the window's system menu. 1 month ago
.gitignore e273386272 Add .gitignore rules for in-tree builds. 3 years ago
Buildscr f0f058ccb4 Merge 0.81 branch. 5 months ago
Buildscr.cv c19e7215dd Replace mkfiles.pl with a CMake build system. 3 years ago
CHECKLST.txt 6b10eaa245 Post-0.81 checklist updates. 5 months ago
CMakeLists.txt b567c9b2b5 New test program 'test_conf', mostly transitional. 1 year ago
LATEST.VER a8601a72a9 Update version number for 0.81 release. 5 months ago
LICENCE 8f34c84074 It's a new year. 7 months ago
README b7174344e6 README: clarify that you need to run vcvars32 first. 2 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. 2 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 4af8a585e7 cmdgen: Fix docs and usage messages. 1 year ago
cmdline.c f9943e2ffd term_get_userpass_input: support the prompts->utf8 flag. 1 year ago
conf-enums.h b29758c1b6 Add ability to specify custom load and save separately. 1 year ago
conf.h 6439c93b43 Add a Features checkbox to disable bracketed paste mode. 1 month ago
config.c 6439c93b43 Add a Features checkbox to disable bracketed paste mode. 1 month ago
console.c 968ac6dbf0 Merge tag '0.80'. 9 months ago
console.h d1dc1e927c Mention the host name in host-key prompts. 3 years ago
defs.h f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 2 months ago
dialog.c 1adcb200f7 dialog.c: give ctrl->fileselect.filter an opaque type. 1 year ago
dialog.h 1adcb200f7 dialog.c: give ctrl->fileselect.filter an opaque type. 1 year ago
errsock.c 807ed08da0 Centralise stub plug/socket functions. 2 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 834b58e39b Make encode_utf8() output to a BinarySink. 1 year ago
misc.h 392be3e494 New utility function: decode_utf8_to_wide_string. 1 year 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. 2 months ago
pageant.c f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 2 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 1625fd8fcb Handle the -batch option centrally in cmdline.c. 1 year ago
psftp.c b60e62b724 Merge PSFTP multiple-connections fixes from 'pre-0.79'. 1 year ago
psftp.h d20d3b20fd Remove FLAG_VERBOSE. 4 years ago
psftpcommon.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 years ago
psocks.c c1d9da67a2 Pass the calling Socket to plug_log. 2 months ago
psocks.h 3d34007889 Remove a couple of double-typedefs. 1 year ago
putty.h b6ef4f18d5 Support Unicode flag glyphs in terminal.c (works in GTK). 4 months 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 400c895ced settings.c: Don't ignore boolean settings 2 months ago
sign.sh 79ff0d086a sign.sh: stop telling gpg to load the 'idea' extension. 1 week ago
specials.h fd43ff6e27 Move SessionSpecial definitions into their own header. 1 year ago
ssh.h f454c84a23 Rename SocketPeerInfo to SocketEndpointInfo. 2 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. 1 month 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.