1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-02-03 21:52:24 +00:00
putty-source/unix
Simon Tatham b4c8fd9d86 New abstraction 'Seat', to pass to backends.
This is a new vtable-based abstraction which is passed to a backend in
place of Frontend, and it implements only the subset of the Frontend
functions needed by a backend. (Many other Frontend functions still
exist, notably the wide range of things called by terminal.c providing
platform-independent operations on the GUI terminal window.)

The purpose of making it a vtable is that this opens up the
possibility of creating a backend as an internal implementation detail
of some other activity, by providing just that one backend with a
custom Seat that implements the methods differently.

For example, this refactoring should make it feasible to directly
implement an SSH proxy type, aka the 'jump host' feature supported by
OpenSSH, aka 'open a secondary SSH session in MAINCHAN_DIRECT_TCP
mode, and then expose the main channel of that as the Socket for the
primary connection'. (Which of course you can already do by spawning
'plink -nc' as a separate proxy process, but this would permit it in
the _same_ process without anything getting confused.)

I've centralised a full set of stub methods in misc.c for the new
abstraction, which allows me to get rid of several annoying stubs in
the previous code. Also, while I'm here, I've moved a lot of
duplicated modalfatalbox() type functions from application main
program files into wincons.c / uxcons.c, which I think saves
duplication overall. (A minor visible effect is that the prefixes on
those console-based fatal error messages will now be more consistent
between applications.)
2018-10-11 19:58:42 +01:00
..
configure Move the Unix configure script up to the top level. 2014-02-22 18:01:32 +00:00
gtkapp.c Introduce a typedef for frontend handles. 2018-09-19 22:10:58 +01:00
gtkask.c gtkask: rework the mechanism for keyboard grabs. 2018-05-13 23:05:46 +01:00
gtkcfg.c Expose the structure tag 'dlgparam'. 2018-09-19 23:08:07 +01:00
gtkcols.c Memory leak: add a columns_finalize() method. 2017-11-26 11:36:00 +00:00
gtkcols.h New Columns method, columns_force_same_height(). 2015-08-24 19:34:23 +01:00
gtkcomm.c GTK uxsel handling: lump G_IO_HUP into G_IO_IN. 2018-09-28 19:23:08 +01:00
gtkcompat.h Rework special-commands system to add an integer argument. 2018-09-24 09:43:39 +01:00
gtkdlg.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
gtkfont.c Remove 'defused' parameter from wc_to_mb. 2018-10-06 11:57:59 +01:00
gtkfont.h Name vtable structure types more consistently. 2018-10-06 07:28:51 +01:00
gtkmain.c Introduce a typedef for frontend handles. 2018-09-19 22:10:58 +01:00
gtkmisc.c Basic support for running under GDK Wayland back end. 2018-05-09 09:21:27 +01:00
gtkmisc.h Move more functions into the new gtkmisc.c. 2015-08-31 15:45:43 +01:00
gtkwin.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01: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 New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
ux_x11.c Post-release destabilisation! Completely remove the struct type 2011-07-14 18:52:21 +00:00
uxagentc.c Build outgoing SSH agent requests in a strbuf. 2018-05-25 14:36:16 +01:00
uxcfg.c Post-release destabilisation! Completely remove the struct type 2011-07-14 18:52:21 +00:00
uxcons.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01: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 GPG key rollover. 2018-08-25 14:38:47 +01:00
uxnet.c Rename FROMFIELD to 'container_of'. 2018-10-06 07:28:51 +01:00
uxnogtk.c Include the compile-time GTK version in the build info. 2017-02-15 19:32:42 +00:00
uxnoise.c Fix minor file descriptor leaks. Found by cppcheck, reported by Tim Kosse. 2009-09-16 22:28:20 +00:00
uxpeer.c Log identifying information for the other end of connections. 2015-05-18 14:03:10 +01:00
uxpgnt.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
uxplink.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
uxprint.c Update to r8614: another -D_FORTIFY_SOURCE=2 fix. 2010-02-20 11:21:25 +00:00
uxproxy.c Rename FROMFIELD to 'container_of'. 2018-10-06 07:28:51 +01:00
uxpterm.c Name vtable structure types more consistently. 2018-10-06 07:28:51 +01:00
uxpty.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
uxputty.c Name vtable structure types more consistently. 2018-10-06 07:28:51 +01:00
uxsel.c unix: make select_result() return void. 2017-05-14 16:34:48 +01:00
uxser.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
uxsftp.c New abstraction 'Seat', to pass to backends. 2018-10-11 19:58:42 +01:00
uxshare.c Get rid of #ifdef DEFINE_PLUG_METHOD_MACROS. 2018-10-06 07:28:51 +01:00
uxsignal.c Rename some of the more stupidly named files in the Unix back end. 2004-12-31 13:02:46 +00:00
uxstore.c Unix: fix segfault if ~/.putty/sessions doesn't exist. 2018-10-07 14:05:53 +01:00
uxucs.c Remove 'defused' parameter from wc_to_mb. 2018-10-06 11:57:59 +01: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