Batch sending "CAP REQ" #1064

Closed
opened 2026-10-05 05:01:10 +02:00 by adam · 0 comments
Owner

Every cap is currently enabled in its own REQ, and waits for ACK before sending next REQ.

This is done because:

  • If server NAKs a REQ with mutliple caps, we don't know which cap was the cause
  • Wait is there because some caps in theory may change the protocol in various incompatible ways, so ZNC wouldn't know how to send next messages / parse messages from server

But due to flood protection, this handshake can take a lot of time, causing server disconnect with message "Registration timeout"

The idea is to send all caps in one REQ; but if NAK actually happened, then fallback to current algorithm

Every cap is currently enabled in its own REQ, and waits for ACK before sending next REQ. This is done because: * If server NAKs a REQ with mutliple caps, we don't know which cap was the cause * Wait is there because some caps in theory may change the protocol in various incompatible ways, so ZNC wouldn't know how to send next messages / parse messages from server But due to flood protection, this handshake can take a lot of time, causing server disconnect with message "Registration timeout" The idea is to send all caps in one REQ; but if NAK actually happened, then fallback to current algorithm <!-- github-sync-id:3043786341 -->
adam closed this issue 2026-10-05 05:01:10 +02:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#1064