1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
putty-source/unix
Simon Tatham 91cf47dd0d Plink: default to sanitising non-tty console output.
If Plink's standard output and/or standard error points at a Windows
console or a Unix tty device, and if Plink was not configured to
request a remote pty (and hence to send a terminal-type string), then
we apply the new control-character stripping facility.

The idea is to be a mild defence against malicious remote processes
sending confusing escape sequences through the standard error channel
when Plink is being used as a transport for something like git: it's
OK to have actual sensible error messages come back from the server,
but when you run a git command, you didn't really intend to give the
remote server the implicit licence to write _all over_ your local
terminal display. At the same time, in that scenario, the standard
_output_ of Plink is left completely alone, on the grounds that git
will be expecting it to be 8-bit clean. (And Plink can tell that
because it's redirected away from the console.)

For interactive login sessions using Plink, this behaviour is
disabled, on the grounds that once you've sent a terminal-type string
it's assumed that you were _expecting_ the server to use it to know
what escape sequences to send to you.

So it should be transparent for all the use cases I've so far thought
of. But in case it's not, there's a family of new command-line options
like -no-sanitise-stdout and -sanitise-stderr that you can use to
forcibly override the autodetection of whether to do it.

This all applies the same way to both Unix and Windows Plink.
2019-02-20 07:27:22 +00:00
..
configure Move the Unix configure script up to the top level. 2014-02-22 18:01:32 +00:00
gtkapp.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
gtkask.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcols.c Add some more miscellaneous asserts. 2018-12-01 17:04:44 +00:00
gtkcols.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcomm.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcompat.h Adopt C99 <stdbool.h>'s true/false. 2018-11-03 13:45:00 +00:00
gtkdlg.c GTK: unregister dialog boxes before delivering the result. 2019-01-13 17:14:08 +00:00
gtkfont.c Add some more miscellaneous asserts. 2018-12-01 17:04:44 +00:00
gtkfont.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkmain.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
gtkmisc.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkmisc.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkwin.c Make lots of 'int' length fields into size_t. 2019-02-06 21:46:10 +00:00
osxlaunch.c osxlaunch: stop setting DYLD_LIBRARY_PATH. 2017-12-20 10:04:02 +00:00
pterm.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
pterm.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
putty.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
putty.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
unix.h Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
ux_x11.c Uppity X forwarding: fix SockAddr use after free. 2019-01-23 21:19:26 +00:00
uxagentc.c Stop using unqualified {GET,PUT}_32BIT. 2019-02-04 20:32:31 +00:00
uxagentsock.c Close standard handles in watchdog subprocesses. 2018-10-21 10:16:16 +01:00
uxcfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxcons.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxfdsock.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxgen.c Unix PuTTYgen: switch to /dev/urandom by default. 2018-06-03 15:15:51 +01:00
uxgss.c Support GSS key exchange, for Kerberos 5 only. 2018-04-26 07:21:16 +01:00
uxmisc.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxnet.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxnogtk.c Include the compile-time GTK version in the build info. 2017-02-15 19:32:42 +00:00
uxnoise.c Replace PuTTY's PRNG with a Fortuna-like system. 2019-01-23 22:36:17 +00:00
uxpeer.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxpgnt.c Make lots of 'int' length fields into size_t. 2019-02-06 21:46:10 +00:00
uxplink.c Plink: default to sanitising non-tty console output. 2019-02-20 07:27:22 +00:00
uxprint.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxproxy.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxpterm.c Label random-noise sources with an enum of ids. 2019-01-23 22:36:17 +00:00
uxpty.c uxpty.c: initialise pty->pending_eof. 2019-02-13 19:36:31 +00:00
uxputty.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxsel.c Label random-noise sources with an enum of ids. 2019-01-23 22:36:17 +00:00
uxser.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxserver.c Give a sensible error when using a too-short RSA key. 2019-02-10 09:05:47 +00:00
uxsftp.c ssh_sftp_do_select: don't fail if a callback is pending. 2019-02-17 20:30:14 +00:00
uxsftpserver.c uxsftpserver: cast st.st_size to uintmax_t. 2019-02-07 20:06:55 +00:00
uxshare.c Replace random_byte() with random_read(). 2019-01-23 22:36:17 +00:00
uxsignal.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxstore.c Rework mungestr() and unmungestr(). 2018-11-03 13:45:00 +00:00
uxucs.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxutils.c Support hardware SHA-256 and SHA-1 on Arm platforms. 2019-01-23 22:36:17 +00:00
x11misc.c Ignore X11 BadMatch errors during cut buffer setup. 2016-03-20 18:30:03 +00:00
x11misc.h Basic support for running under GDK Wayland back end. 2018-05-09 09:21:27 +01:00
xkeysym.c Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a 2003-04-27 11:10:48 +00:00
xpmptcfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpterm.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpucfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmputty.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00