Skip to content

CAP 302: ambiguous existence of multiline ACK replies #601

Description

@0x5c

Everywhere in the capability negotiation spec where version 302's multiline replies are mentioned, it's only for LS and LIST subcommands. They're the only ones listed in the effects of version 302, the only ones with multiline format specifications and examples, and the only ones in the "Multiline replies to CAP LS and CAP LIST" section.

...except for this paragraph in the description of ACK:

If an ACK reply originating from the server is spread across multiple lines, a client MUST NOT change capabilities until the last ACK of the set is received. Equally, a server MUST NOT change the capabilities of the client until the last ACK of the set has been sent.

Contrasting that, REQ specifies:

Clients SHOULD ensure that their list of requested capabilities is not too long to be replied to with a single ACK or NAK message. If a REQ’s final parameter gets sufficiently large (approaching the 510 byte limit), clients SHOULD instead send multiple REQ subcommands.

Is a multiline ACK possible and should clients expect it as a possibility? To me it seems like old wording that fell in the cracks as the spec was developed -especially since NAK has the same constraints but no mentions of a multiline reply-, but maybe a multiline ACK makes sense to others.
Speaking of NAK, surely the answer to that question would apply to it too, right?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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