X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=unix%2Fuxplink.c;h=b8c554894002033dcb0e5583fd0285b9223bf11c;hb=5471539a6738484b48fb938c88dce547a3e4b299;hp=8351a6ea7280528acbe8660a0db18e66237823c0;hpb=48eafd66aa274c32fc8169a0d36619663905c210;p=PuTTY.git diff --git a/unix/uxplink.c b/unix/uxplink.c index 8351a6ea..b8c55489 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -25,7 +25,7 @@ #define MAX_STDIN_BACKLOG 4096 -void *logctx; +static void *logctx; static struct termios orig_termios; @@ -690,6 +690,10 @@ int main(int argc, char **argv) } } else if (!strcmp(p, "-shareexists")) { just_test_share_exists = TRUE; + } else if (!strcmp(p, "-fuzznet")) { + conf_set_int(conf, CONF_proxy_type, PROXY_FUZZ); + conf_set_str(conf, CONF_proxy_telnet_command, + "%host"); } else { fprintf(stderr, "plink: unknown option \"%s\"\n", p); errors = 1; @@ -988,6 +992,11 @@ int main(int argc, char **argv) /* nodelay is only useful if stdin is a terminal device */ int nodelay = conf_get_int(conf, CONF_tcp_nodelay) && isatty(0); + /* This is a good place for a fuzzer to fork us. */ +#ifdef __AFL_HAVE_MANUAL_CONTROL + __AFL_INIT(); +#endif + error = back->init(NULL, &backhandle, conf, conf_get_str(conf, CONF_host), conf_get_int(conf, CONF_port),