[CAHandler] Reset m_protocol3_established when last client disconnects

Status
Not open for further replies.

GitHub

Moderator
[CAHandler] Reset m_protocol3_established when last client disconnects

When a Protocol 3 client (e.g. oscam with pmt_mode=6) disconnects,
connectionLost() removed the client from the list but never reset
m_protocol3_established to false. If the softcam reconnects using
legacy /tmp/camd.socket (e.g. after switching to pmt_mode=0), all
sendCAPMT() calls remain gated by the stale m_protocol3_established
flag, blocking the legacy CAPMT delivery path entirely.

Since no Protocol 3 clients are connected either, CAPMTs are never
delivered — causing both SoftCSA and HW descramble to fail.

Reset m_protocol3_established when the last client disconnects so the
legacy sendCAPMT path becomes available again.

Fixes missing reset introduced in a798cf3e5b and cc0646c05d which
added the m_protocol3_established gate without handling the disconnect
case.

Continue reading...
 
Status
Not open for further replies.
Back
Top