ldilley / rubircd

:speech_balloon: An IRC server written in Ruby
http://www.dilley.me/rubircd
GNU General Public License v3.0
22 stars 4 forks source link

Sending numeric 451 while in CAP negotiation confuses some people #46

Open ldilley opened 7 years ago

ldilley commented 7 years ago

If a client initiates CAP negotiation, they are locked into it per the standard until a CAP END signals completion. Rather than sending absolutely nothing like InspIRCd 2.0.x, I chose to send the following string to make things less ambiguous:

:server 451 CAP :Register first.

In light of cinchrb/cinch#128, this is apparently still too vague for a hint. The solution will be to add a new numeric to blatantly point out that the user must end client capability negotiation to move forward with connecting to the server.

I was hoping to be frugal with custom numerics. If the client adheres to protocol, there should be no problem and only users connecting in raw mode should really see the above. Perhaps a new custom numeric will not be implemented.

ldilley commented 7 years ago

Still on hold...