GNU bug report logs - #51342
29.0.50; remove non-CAPs from rcirc capability list

Previous Next

Package: emacs;

Reported by: "J.P." <jp <at> neverwas.me>

Date: Sat, 23 Oct 2021 00:09:02 UTC

Severity: minor

Tags: moreinfo

Found in version 29.0.50

Done: "J.P." <jp <at> neverwas.me>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "J.P." <jp <at> neverwas.me>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: 51342 <at> debbugs.gnu.org
Subject: bug#51342: 29.0.50; remove non-CAPs from rcirc capability list
Date: Mon, 25 Oct 2021 20:50:29 -0700
"J.P." <jp <at> neverwas.me> writes:

> However, I *have* noticed at least one progressive IRCd sending
> standard replies not defined in any spec [1].
>
> [...]
>
> [1] https://github.com/ircv3/ircv3-specifications/pull/276

That link is bogus/unrelated (sorry). It's actually a

  :irc.org FAIL NICK NICKNAME_RESERVED tester :Nickname is reserved ...

that I encountered, but it's not documented anywhere (that I could
find). It's sent by Ergo 2.6.1 whether or not you request any caps.
NICKNAME_RESERVED was ostensibly created to prevent confusion with the
traditional 433/ERR_NICKNAMEINUSE, which accompanies it in the same
burst.

Whether it's safe to expect such redundancy across the board when
nothing dependent has been negotiated is anyone's guess, but the
existence of the vendor cap inspircd.org/standard-replies [1] perhaps
tips things in favor of the yeas. This cap gives permission for a server
to send undeclared replies in standard-replies form, possibly in lieu of
traditional ones, like 433.

> I can only guess they assume clients not privy to the new syntax are
> resilient enough to take these in stride [2].

Yeah, "new syntax" is just confusing. What I meant was rather than
extending the IRC message format, a standard-replies declaration merely
specifies a concrete reply within the constraints of the broader
protocol, meaning

  [@tags] [:src] cmd    p0     p1     p2     ... pn-1    :pn
  [@tags] [:src] <type> <req> <code> [<cxt0> ... <ctxn>] :<desc>

from the spec is just a way of getting us ready for specific interface
descriptions, like those for setname [2]. So when folks talk about
safely degrading in this context [3], they mean devolving to a catch-all
handler (usually NOTICE) for all unrecognized/unhandled replies. Thanks.

[1] https://docs.inspircd.org/3/modules/cap/
[2] https://ircv3.net/specs/extensions/setname#errors
[3] https://github.com/inspircd/inspircd/issues/1809




This bug report was last modified 2 years and 226 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.