If a server sends a CAP LS reply listing the same capability more than once, sometimes with a value and sometimes without, how should clients interpret that?
For example: Given CAP * LS :sasl=PLAIN,EXTERNAL sasl, is this equivalent to CAP * LS :sasl (i.e., the valueless sasl item causes the previous sasl value to be "thrown away"), or is it equivalent to CAP * LS :sasl=PLAIN,EXTERNAL (i.e., the valueless sasl item has no effect)?
The closest thing I could find in the spec about this is "If a capability with values is sent multiple times, the last one received takes priority", which doesn't actually address this case, unless you want to say that sasl and other capabilities that are defined as able to take values are inherently "capabilit[ies] with values" even when no value is given.
An analogous question could be asked about CAP NEW commands.
If a server sends a
CAP LSreply listing the same capability more than once, sometimes with a value and sometimes without, how should clients interpret that?For example: Given
CAP * LS :sasl=PLAIN,EXTERNAL sasl, is this equivalent toCAP * LS :sasl(i.e., the valuelesssaslitem causes the previoussaslvalue to be "thrown away"), or is it equivalent toCAP * LS :sasl=PLAIN,EXTERNAL(i.e., the valuelesssaslitem has no effect)?The closest thing I could find in the spec about this is "If a capability with values is sent multiple times, the last one received takes priority", which doesn't actually address this case, unless you want to say that
sasland other capabilities that are defined as able to take values are inherently "capabilit[ies] with values" even when no value is given.An analogous question could be asked about
CAP NEWcommands.