Please sign in to comment.
Add CAP support. Closes #423
This is the first hack at adding a basic CAP support functionality to Eggdrop. Much more work will be required down the road. This merge will be closely tied to the upcoming SASL capability merge, as it appears SASL needs to do stuff in the middle of the CAP negotitation phase, so in preparation there is a little more SASL-specific code in here than would be otherwise preferred, but that is a problem (is it?) to solve another day. Basically, Eggdrop will now query a server via CAP LS at connect. It will store that list of server-supported capabilities, then request the user-specified capabilities that exist within that list (and not capabilities that are not supported by the server). If the user has not configured a CAP-required capability in the config, then Eggdrop will not send a REQ request to the server (the initial LS will always happen though). https://ircv3.net/specs/core/capability-negotiation was used to implement CAP * Initial CAP support commit * Update tcl-commands.doc with cap usage * Do not request unsupported CAP capes from server * Don't duplicate already-requested capes in cape list * Suppress request line if empty * Don't send END before SASL is done * Prevent CAP request dupes after server reconnect
- Loading branch information...
Showing with 180 additions and 5 deletions.