1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 09:27:59 +00:00
Go to file
Simon Tatham cc3e4992d5 Break up x11fwd.c.
This is a module that I'd noticed in the past was too monolithic.
There's a big pile of stub functions in uxpgnt.c that only have to be
there because the implementation of true X11 _forwarding_ (i.e.
actually managing a channel within an SSH connection), which Pageant
doesn't need, was in the same module as more general X11-related
utility functions which Pageant does need.

So I've broken up this awkward monolith. Now x11fwd.c contains only
the code that really does all go together for dealing with SSH X
forwarding: the management of an X forwarding channel (including the
vtables to make it behave as Channel at the SSH end and a Plug at the
end that connects to the local X server), and the management of
authorisation for those channels, including maintaining a tree234 of
possible auth values and verifying the one we received.

Most of the functions removed from this file have moved into the utils
subdir, and also into the utils library (i.e. further down the link
order), because they were basically just string and data processing.

One exception is x11_setup_display, which parses a display string and
returns a struct telling you everything about how to connect to it.
That talks to the networking code (it does name lookups and makes a
SockAddr), so it has to live in the network library rather than utils,
and therefore it's not in the utils subdirectory either.

The other exception is x11_get_screen_number, which it turned out
nothing called at all! Apparently the job it used to do is now done as
part of x11_setup_display. So I've just removed it completely.
2021-04-18 08:18:27 +01:00
charset Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
cmake Fix a few cmake configure-time checks. 2021-04-17 22:26:00 +01:00
contrib New script contrib/plinkfs. 2020-08-04 18:56:47 +01:00
doc Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
icons
test Introduce OpenSSH-compatible SHA256 key fingerprinting. 2021-03-13 11:01:35 +00:00
unix Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
utils Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
windows Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
.gitignore Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
agentf.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
aqsync.c
be_all_s.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
be_all.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
be_misc.c
be_none.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
be_nos_s.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
be_nossh.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
be_ssh.c New GUI for protocol selection. 2021-04-10 09:51:29 +01:00
Buildscr Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
Buildscr.cv Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
callback.c
cgtest.c cmdgen: support configurable key fingerprint type. 2021-03-13 11:01:35 +00:00
CHECKLST.txt Fix build failure at -DNOT_X_WINDOWS. 2021-01-26 18:12:48 +00:00
clicons.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
CMakeLists.txt Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
cmdgen.c cmdgen: have --dump output private parts of PPKs. 2021-04-07 22:59:54 +01:00
cmdline.c Document new backend command-line options. 2021-02-21 16:44:51 +00:00
config.c Bring SUPDUP config pane title in line with others. 2021-04-10 15:30:19 +01:00
console.c Console host key prompts: add 'more info' action. 2021-03-13 13:54:59 +00:00
console.h Factor out some common code in {ux,win}cons.c. 2021-03-13 11:01:35 +00:00
cproxy.c
defs.h Enforce that NDEBUG is not defined. 2021-04-17 13:52:27 +01:00
dialog.c dialog system: add a side-by-side alignment feature. 2021-04-10 09:43:25 +01:00
dialog.h dialog system: add a side-by-side alignment feature. 2021-04-10 09:43:25 +01:00
ecc.c
ecc.h
errsock.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
fuzzterm.c Flip direction of window pos/size queries. 2021-02-07 19:59:21 +00:00
import.c Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
LATEST.VER Update version number for 0.74 release. 2020-06-21 16:39:47 +01:00
ldisc.c Remove assertion that len != 0 in ldisc_send. 2020-06-14 15:49:36 +01:00
ldisc.h
LICENCE It's a new year. 2021-01-11 21:37:51 +00:00
licence.pl Separate the functions of licence.pl. 2021-04-17 13:52:27 +01:00
logging.c
mainchan.c Relax criteria for accepting agent-forwarding channel-opens. 2020-12-23 22:26:44 +00:00
marshal.h
millerrabin.c
minibidi.c
misc.h Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
mksrcarc.sh Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
mkunxarc.sh Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
mpint_i.h
mpint.c Fix a few warnings reported by Visual Studio. 2021-04-10 11:51:08 +01:00
mpint.h
mpunsafe.c
mpunsafe.h
network.h
nocmdline.c
nocproxy.c
nogss.c
noprint.c noprint.c: fix compile failure. 2021-02-10 21:07:57 +00:00
noproxy.c Introduce noproxy.c. 2020-09-13 09:11:31 +01:00
norand.c
noshare.c Fix type error in noshare.c. 2020-11-14 21:39:14 +00:00
noterm.c
notiming.c
nullplug.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
pageant.c pageant_get_keylist: add missing init of kl->broken. 2021-04-10 10:55:53 +01:00
pageant.h winpgnt: menu options to delete/reencrypt everything. 2021-04-04 10:02:24 +01:00
pgssapi.c
pgssapi.h
pinger.c
pockle.c Fix false negative in Pockle discriminant check. 2020-03-13 08:02:27 +00:00
portfwd.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
pproxy.c
primecandidate.c
proxy.c Fix downright weird line breaking. 2021-02-13 10:11:30 +00:00
proxy.h
pscp.c Remove MD5 fingerprints from usage messages. 2021-03-27 18:39:16 +00:00
psftp.c Remove MD5 fingerprints from usage messages. 2021-03-27 18:39:16 +00:00
psftp.h
psftpcommon.c
psocks.c psocks: remove print_c_string(). 2021-04-08 01:45:03 +01:00
psocks.h
putty.h Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
puttymem.h
puttyps.h
raw.c Remove NULL initialisers in BackendVtables. 2021-02-21 22:40:09 +00:00
README Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
release.pl Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
rlogin.c Remove NULL initialisers in BackendVtables. 2021-02-21 22:40:09 +00:00
scpserver.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sesschan.c Uppity: add stunt for unauthorised agent forwarding attempts. 2020-12-23 22:26:44 +00:00
settings.c Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
sftp.c Impose an upper bound on incoming SFTP packet length. 2021-04-10 09:00:49 +01:00
sftp.h
sftpcommon.c
sftpserver.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sign.sh
smallprimes.c
ssh1bpp.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
ssh1censor.c
ssh1connection-client.c Relax criteria for accepting agent-forwarding channel-opens. 2020-12-23 22:26:44 +00:00
ssh1connection-server.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
ssh1connection.c Relax criteria for accepting agent-forwarding channel-opens. 2020-12-23 22:26:44 +00:00
ssh1connection.h Relax criteria for accepting agent-forwarding channel-opens. 2020-12-23 22:26:44 +00:00
ssh1login-server.c Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
ssh1login.c Pass more information to interactive host key check. 2021-03-13 13:54:59 +00:00
ssh2bpp-bare.c Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 2020-11-21 15:09:41 +00:00
ssh2bpp.c Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 2020-11-21 15:09:41 +00:00
ssh2censor.c
ssh2connection-client.c Relax criteria for accepting agent-forwarding channel-opens. 2020-12-23 22:26:44 +00:00
ssh2connection-server.c
ssh2connection.c Fix premature exit if 'plink -shareexists' happens early. 2021-02-21 10:53:31 +00:00
ssh2connection.h Fix premature exit if 'plink -shareexists' happens early. 2021-02-21 10:53:31 +00:00
ssh2kex-client.c Pass more information to interactive host key check. 2021-03-13 13:54:59 +00:00
ssh2kex-server.c Support rsa-sha2-* host keys in Uppity. 2020-11-22 08:13:21 +00:00
ssh2transhk.c
ssh2transport.c ssh2kex-client.c: get rid of s->fingerprint. 2021-03-13 11:01:35 +00:00
ssh2transport.h ssh2kex-client.c: get rid of s->fingerprint. 2021-03-13 11:01:35 +00:00
ssh2userauth-server.c Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
ssh2userauth.c Fix minor memory leak in rsa-sha2-256 userauth. 2020-11-25 16:25:21 +00:00
ssh.c Mention any extant downstreams in close warning. 2021-02-21 14:32:51 +00:00
ssh.h Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
sshaes.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
ssharcf.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshargon2.c Argon2 hprime: remove pointless bounds check. 2021-04-10 08:54:43 +01:00
sshauxcrypt.c Add an IV argument to aes_{en,de}crypt_pubkey. 2021-02-20 16:49:52 +00:00
sshbcrypt.c
sshblake2.c Add an implementation of BLAKE2b. 2021-02-20 16:49:52 +00:00
sshblowf.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshblowf.h
sshbpp.h Support receiving RFC 8308 SSH2_MSG_EXT_INFO. 2020-11-21 15:09:41 +00:00
sshccp.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshchan.h Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshcommon.c Allow pre-storing host key fingerprints of all types. 2021-03-13 13:54:59 +00:00
sshcr.h
sshcrc.c
sshcrcda.c
sshdes.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshdh.c
sshdss.c Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
sshdssg.c
sshecc.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshecdsag.c
sshgss.h
sshgssc.c
sshgssc.h
sshhmac.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshkeygen.h
sshmac.c
sshmd5.c Rewrite MD5 implementation in my modern style. 2020-12-24 17:30:23 +00:00
sshnogss.c
sshppl.h Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshprime.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshprng.c Stop using mp_int in sshprng.c. 2020-09-13 09:11:31 +01:00
sshpubk.c Fix failure handling when loading a PPK file. 2021-04-10 09:13:49 +01:00
sshrand.c Remove dependency of sshrand.c on SHA-512. 2020-09-13 09:11:31 +01:00
sshrsa.c Add API for getting all of a key's fingerprints. 2021-03-13 11:01:35 +00:00
sshrsag.c RSA generation: option to generate strong primes. 2020-03-07 11:37:31 +00:00
sshserver.c Uppity: add stunt for unauthorised agent forwarding attempts. 2020-12-23 22:26:44 +00:00
sshserver.h Uppity: add stunt for unauthorised agent forwarding attempts. 2020-12-23 22:26:44 +00:00
sshsh256.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshsh512.c Fix buffer overflow in NEON SHA-384 output. 2020-12-24 17:39:54 +00:00
sshsha3.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshsha.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshshare.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshsignals.h
sshttymodes.h
sshverstring.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
sshzlib.c Fix a few warnings reported by Visual Studio. 2021-04-10 11:51:08 +01:00
storage.h
supdup.c Make the backend_init error message dynamic. (NFC) 2020-04-18 13:33:51 +01:00
telnet.c Make the backend_init error message dynamic. (NFC) 2020-04-18 13:33:51 +01:00
terminal.c Make pterm's default window title more sensible. 2021-03-08 06:59:26 +00:00
terminal.h Apply UPDATE_DELAY in arrears, not in advance. 2021-02-07 19:59:21 +00:00
testback.c Make the backend_init error message dynamic. (NFC) 2020-04-18 13:33:51 +01:00
testcrypt.c Introduce OpenSSH-compatible SHA256 key fingerprinting. 2021-03-13 11:01:35 +00:00
testcrypt.h Introduce OpenSSH-compatible SHA256 key fingerprinting. 2021-03-13 11:01:35 +00:00
testsc.c Introduce PPK file format version 3. 2021-02-20 16:57:47 +00:00
testzlib.c Ensure test programs have a dputs(). 2020-11-28 17:44:27 +00:00
timing.c
tree234.h
version.h Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
x11disp.c Break up x11fwd.c. 2021-04-18 08:18:27 +01:00
x11fwd.c Break up x11fwd.c. 2021-04-18 08:18:27 +01:00

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

PuTTY is built using CMake <https://cmake.org/>. To compile in the
simplest way (on any of Linux, Windows or Mac), run these commands in
the source directory:

  cmake .
  cmake --build .

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 <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.

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.