You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Safety: Sanity-cap the init-channel counts received from the opposing peer at session open. #36
Sanity-cap the init-channel counts received from the opposing peer at session open, internally via the SMC (session master channel) (server side: LogInReq.numInitChannelsByCliReq; client side: LogInRsp.numInitChannelsBySrvReq plus the local count). Today a nonsensical value from a buggy (or foreign... but again, we assume trust of the peer) peer can throw inside the worker thread's reserve() and terminate the process, or can wrap the size_t sum. Choose a cap and an error code, and document the limit on the advanced sync_connect() and async_accept() overloads.
P.S. This is a safety thing; really there's quite a bit of protocol over the SMC -- and some other data-channels/layers -- and weird/bad/huge values in various places could probably had bad effects. We assume trust, so such things are best-effort in any case.
Activity