Skip to content

Ambiguity surrounding trailing lists #205

Open
@ejmount

Description

@ejmount

The current grammar for the parameters in a message coming from the client says that everything following a colon is treated as a single parameter, since trailing has no further structure beyond the individual characters making it up.

However, the section describing parameter lists could be to read to suggest that in something like JOIN <channel>{,<channel>}, the channel parameter should be read as appearing multiple times. The language about the Join message itself explicitly refers to the Nth <channel>, suggesting the same thing, rather than attempting to interpret the entire list as a single paramter that then gets interpreted later.

However, that implies JOIN :#a,#b will be read as attempting to join a single channel called #a,#b, which will presumably fail. I've been talking to @jesopo (@\jess on #libera) about this while developing a server, as she mentioned that inspircd changing behaviour had broken clients when it added a colon where it wasn't needed. We both agree that clients could plausibly send a message like that and expect to join two channels, but the example grammar does not appear to allow for it.

Could this be clarified?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions