diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index cc321472a19df7063f5bd4bbc4cce85b6d9c59bc..876055bc526146af4aa6edf8098bf82573c059fb 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -1981,6 +1981,10 @@ static int crypt_pop_channel_data(sbbs_t *sbbs, char *inbuf, int want, int *got) sbbs->sftp_channel = cid; } } + if (cname && sbbs->session_channel == -1 && strcmp(cname, "shell") == 0) { + sbbs->session_channel = cid; + } + if (cid != sbbs->sftp_channel && cid != sbbs->session_channel) { lprintf(LOG_WARNING, "Node %d SSH WARNING: attempt to use channel '%s' (%d != %d or %d)" , sbbs->cfg.node_num, cname ? cname : "<unknown>", cid, sbbs->session_channel, sbbs->sftp_channel);