atheme/ircv3-specifications — pull request #31 by M2Ys4U (2014-01-12 15:55:04+00:00)
Title: Specify correct parsing for capability lists.

Currently, the capability negotiation specification is ambiguous as to how lists of capabilities are parsed, particularly where the same capability is transmitted multiple times in one message.

This could lead to a situation where a client and server may disagree as to which capabilities are enabled.

My initial proposal was to suggest that we state that capabilities MUST NOT be given twice in the same message, but after floating this idea on the IRC channel, grawity expressed a preference for amending the spec in line with existing implementations ("caps parsed left-to-right and the last one takes priority, exactly like multiple CAP REQ's").