summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2013-04-05 00:58:51 +0000
committerdjm <djm@openbsd.org>2013-04-05 00:58:51 +0000
commit1fc98f29fb7e6abf95dfcaf2ef23f3c0d9c65216 (patch)
treee1026d479ab1334cb6cfda67afbdd864c129bc09
parentuse the existing _PATH_SSH_USER_RC define to construct the other (diff)
downloadwireguard-openbsd-1fc98f29fb7e6abf95dfcaf2ef23f3c0d9c65216.tar.xz
wireguard-openbsd-1fc98f29fb7e6abf95dfcaf2ef23f3c0d9c65216.zip
cleanup mux-created channels that are in SSH_CHANNEL_OPENING state too
(in addition to ones already in OPEN); bz#2079, ok dtucker@
-rw-r--r--usr.bin/ssh/mux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/ssh/mux.c b/usr.bin/ssh/mux.c
index 2983eb0f7f1..b73298ca152 100644
--- a/usr.bin/ssh/mux.c
+++ b/usr.bin/ssh/mux.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mux.c,v 1.38 2013/01/02 00:32:07 djm Exp $ */
+/* $OpenBSD: mux.c,v 1.39 2013/04/05 00:58:51 djm Exp $ */
/*
* Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org>
*
@@ -206,7 +206,8 @@ mux_master_control_cleanup_cb(int cid, void *unused)
__func__, c->self, c->remote_id);
c->remote_id = -1;
sc->ctl_chan = -1;
- if (sc->type != SSH_CHANNEL_OPEN) {
+ if (sc->type != SSH_CHANNEL_OPEN &&
+ sc->type != SSH_CHANNEL_OPENING) {
debug2("%s: channel %d: not open", __func__, sc->self);
chan_mark_dead(sc);
} else {