BBS:      TELESC.NET.BR
Assunto:  src/ssh/server.c ssh-conn.c
De:       Deuc¨
Data:     Thu, 26 Mar 2026 05:47:34 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/f918985d01363d053bcff9fb
Modified Files:
	src/ssh/server.c ssh-conn.c
Log Message:
Fix setup mailbox race: demux could drop channel requests

The demux thread delivered setup-mode messages (pty-req, shell, etc.)
via a single-slot mailbox without waiting for the accept loop to
consume the previous message. When multiple CHANNEL_REQUESTs arrived
in rapid succession (e.g. auth-agent-req, pty-req, shell), later
messages overwrote earlier ones  typically dropping pty-req.

Fix: demux now waits on poll_cnd while setup_ready is true before
writing the next message. setup_recv signals poll_cnd after consuming
so the demux can proceed. Verified with OpenSSH 9.9 which sends
auth-agent-req + pty-req + shell back-to-back.

Server: add debug REQ trace line in channel request callback.

Co-Authored-By: Claude Opus 4.6 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]