1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 11:02:48 -05:00

New facility, platform_start_subprocess.

We already have the ability to start a subprocess and hook it up to a
Socket, for running local proxy commands. Now the same facility is
available as an auxiliary feature, so that a backend can start another
subcommand for a different purpose, and make a separate Socket to
communicate with it.

Just like the local proxy system, this facility captures the
subprocess's stderr, and passes it back to the caller via plug_log. To
make that not look silly, I had to add a system where the "proxy:"
prefix on the usual plug_log messages is reconfigurable, and when you
call platform_start_subprocess(), you get to pass the prefix you want
to use in this case.
This commit is contained in:
Simon Tatham
2022-08-22 18:46:32 +01:00
parent a92aeca111
commit eec350c38b
11 changed files with 96 additions and 2 deletions

20
stubs/null-opener.c Normal file
View File

@ -0,0 +1,20 @@
/*
* Null implementation of DeferredSocketOpener. Doesn't even bother to
* allocate and free itself: there's just one static implementation
* which we hand out to any caller.
*/
#include "putty.h"
static void null_opener_free(DeferredSocketOpener *opener) {}
static const DeferredSocketOpenerVtable NullOpener_vt = {
.free = null_opener_free,
};
static DeferredSocketOpener null_opener = { .vt = &NullOpener_vt };
DeferredSocketOpener *null_deferred_socket_opener(void)
{
return &null_opener;
}