SSH client (mirror)

Jacob Nevins 50e360fc74 Docs: belated updates for protocol controls. 1 week geleden
charset e6f9df9208 sbcsgen.pl: handle \r\n line endings. 2 jaren geleden
cmake da8241cff6 Remove test for, and fallback impl of, wmemchr. 3 weken geleden
contrib a3f22a2cf9 Use the new 'HYBRID' names for the hybrid KEX packets. 2 maanden geleden
crypto 8fb45f4617 kex-hybrid: fix a small memory leak on failure. 2 weken geleden
doc 50e360fc74 Docs: belated updates for protocol controls. 1 week geleden
icons a101444d40 New script to draw the icons as SVG. 2 jaren geleden
keygen 1b851758bd Add some missing #includes. 2 jaren geleden
otherbackends 897ecf4678 SUPDUP: make the TDCRL command clear to end of line. 2 maanden geleden
proxy 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
ssh 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
stubs 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
terminal 193e2ec063 Rework identification of OSC sequences. 1 maand geleden
test 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
unicode 2c77437149 Update all Unicode tables to Unicode 16.0.0. 5 maanden geleden
unix 6155365076 GTK: switch the default to client-side fonts. 1 maand geleden
utils c2077f888c Fix compile warnings in tree234 tests. 2 maanden geleden
windows da8241cff6 Remove test for, and fallback impl of, wmemchr. 3 weken geleden
.gitignore e273386272 Add .gitignore rules for in-tree builds. 3 jaren geleden
Buildscr d2c178c49a Update version number for 0.83 release. 2 weken geleden
Buildscr.cv c19e7215dd Replace mkfiles.pl with a CMake build system. 3 jaren geleden
CHECKLST.txt 267f077fcc Reorganise the release checklist. 1 week geleden
CMakeLists.txt c91437bae3 Update cmake_minimum_required to avoid warnings on sid. 2 maanden geleden
LATEST.VER d2c178c49a Update version number for 0.83 release. 2 weken geleden
LICENCE e3272f19e0 It's a new year. 1 maand geleden
README b7174344e6 README: clarify that you need to run vcvars32 first. 7 maanden geleden
aqsync.c 0c44fa85df Build outgoing SSH agent requests in a strbuf. 6 jaren geleden
be_list.c 53f7da8ce7 Merge be_*.c into one ifdef-controlled module. 3 jaren geleden
callback.c 8d747d8029 Add lots of missing 'static' keywords. 5 jaren geleden
cgtest.c a2ff884512 Richer data type for interactive prompt results. 3 jaren geleden
clicons.c b4e1bca2c3 Change vtable defs to use C99 designated initialisers. 5 jaren geleden
cmdgen.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
cmdline.c 52b2419028 Make the -legacy-foo options not SAVEABLE. 3 maanden geleden
conf-enums.h b29758c1b6 Add ability to specify custom load and save separately. 1 jaar geleden
conf.h f80955488a Switch CONF_remote_cmd to being STR_AMBI. 4 maanden geleden
config.c f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 2 maanden geleden
console.c 968ac6dbf0 Merge tag '0.80'. 1 jaar geleden
console.h d1dc1e927c Mention the host name in host-key prompts. 3 jaren geleden
defs.h da8241cff6 Remove test for, and fallback impl of, wmemchr. 3 weken geleden
dialog.c f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 2 maanden geleden
dialog.h f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 2 maanden geleden
errsock.c 807ed08da0 Centralise stub plug/socket functions. 7 maanden geleden
import.c 20f818af12 Rename 'ret' variables passed from allocation to return. 2 jaren geleden
ldisc.c 19798515df ldisc_send: return early if len == 0. 1 maand geleden
licence.pl af9910962a Separate the functions of licence.pl. 3 jaren geleden
logging.c ab8ae9a385 Merge log file name tweaks from 'pre-0.79'. 1 jaar geleden
marshal.h 4f756d2a4d Rework Unicode conversion APIs to use a BinarySink. 4 maanden geleden
misc.h 1ef0fbaafc Add helper function dupwcscat(). 2 maanden geleden
mksrcarc.sh a01deea1b1 Updates to mksrcarc.sh. 2 jaren geleden
mkunxarc.sh 31f496b59c Integrate the 'doc' subdir into the CMake system. 3 jaren geleden
mpint.h d5af33da53 Utility function mp_resize. 2 jaren geleden
network.h 807ed08da0 Centralise stub plug/socket functions. 7 maanden geleden
pageant.c ec158a2e19 Pageant: call signop_unlink from signop_free. 1 maand geleden
pageant.h b8374f1bdf winpgnt: menu options to delete/reencrypt everything. 3 jaren geleden
pinger.c 5d718ef64b Whitespace rationalisation of entire code base. 5 jaren geleden
pscp.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
psftp.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
psftp.h 841bf321d4 New abstraction for command-line arguments. 4 maanden geleden
psftpcommon.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 jaren geleden
psocks.c 841bf321d4 New abstraction for command-line arguments. 4 maanden geleden
psocks.h 841bf321d4 New abstraction for command-line arguments. 4 maanden geleden
putty.h f8e1a2b3a9 Windows: rewrite request_file() to support Unicode. 2 maanden geleden
puttymem.h 5935c68288 Update source file names in comments and docs. 3 jaren geleden
release.pl b97f20d03a release.pl: Adjust pscp/plink transcript updater. 2 maanden geleden
settings.c e98615f0ba New post-quantum kex: ML-KEM, and three hybrids of it. 2 maanden geleden
sign.sh 79ff0d086a sign.sh: stop telling gpg to load the 'idea' extension. 5 maanden geleden
specials.h fd43ff6e27 Move SessionSpecial definitions into their own header. 1 jaar geleden
ssh.h 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
sshcr.h 6fcc7ed728 Formatting: fix a few mis-spaced assignments. 2 jaren geleden
sshkeygen.h 6520574e58 Side-channel-safe rewrite of the Miller-Rabin test. 3 jaren geleden
sshpubk.c 8005738eaf Fix infinite loop on a truncated RFC4176 public key file. 6 maanden geleden
sshrand.c 98200d1bfe Arm: turn on PSTATE.DIT if available and needed. 2 maanden geleden
storage.h 4249b39ed3 New Seat method, seat_nonfatal(). 2 jaren geleden
timing.c 5d718ef64b Whitespace rationalisation of entire code base. 5 jaren geleden
tree234.h 4b8dc56284 Formatting: remove spurious spaces in 'type * var'. 2 jaren geleden
version.h c19e7215dd Replace mkfiles.pl with a CMake build system. 3 jaren geleden
x11disp.c 83fa43497f Move the SSH implementation into its own subdirectory. 3 jaren geleden

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.