commit 98c3d8979f42c71c2eb00894d54d1618a2340b9f from: Omar Polo date: Wed Jul 06 12:46:58 2022 UTC allow span_ssh to fail commit - 9432cd14c34086ae857b4d66358f80496015c33d commit + 98c3d8979f42c71c2eb00894d54d1618a2340b9f blob - 1ef78d59801ef309c2eb29896e00a4cc531a265e blob + 4b7e793ce8230625df932f11cb3a24941a977f15 --- lstun.c +++ lstun.c @@ -109,20 +109,21 @@ sig_handler(int sig, short event, void *data) } } -static void +static int spawn_ssh(void) { log_debug("spawning ssh"); switch (ssh_pid = fork()) { case -1: - fatal("fork"); + log_warnx("fork"); + return -1; case 0: execl(SSH_PATH, "ssh", "-L", ssh_tflag, "-NTq", ssh_dest, NULL); fatal("exec"); default: - return; + return 0; } } @@ -300,8 +301,10 @@ do_accept(int fd, short event, void *data) conn++; - if (ssh_pid == -1) - spawn_ssh(); + if (ssh_pid == -1 && spawn_ssh() == -1) { + close(s); + return; + } if ((c = calloc(1, sizeof(*c))) == NULL) { log_warn("calloc");