UndernetIRC / ircu2

Undernet IRC Daemon
Other
52 stars 20 forks source link

Use 336/337 instead of 346/347 to reply to 'INVITE' commands #20

Closed progval closed 2 years ago

progval commented 2 years ago

RFC2812 defines RPL_INVITELIST (346) and RPL_ENDOFINVITELIST (347) numerics, but they are only to be used for replies to 'MODE +I', which stands for 'invite exemption' (though it is, surprisingly, not defined in RFC2812 itself). An they must have two params: the channel and mask https://datatracker.ietf.org/doc/html/rfc2812#page-46.

Instead, the consensus is to use 336 and 337 to reply to parameter-less INVITE messages; and call these RPL_INVITELIST/RPL_ENDOFINVITELIST, while the RFC2812 numerics should be renamed to something like RPL_INVEXLIST/RPL_ENDOFINVEXLIST (which ircu2 does not use, so it does not matter much). See for example:

Thanks

entrope commented 2 years ago

No. Undernet has never tried to comply with IRCnet's fork of the IRC protocol. Undernet's implementation of this code predates RFC 2812. Further unsubstantiated claims of "consensus" that ignore history will be unwelcome.

emersion commented 2 years ago

Thanks for making it impossible to write well-behaved clients...

progval commented 2 years ago

Sorry, I didn't mean to imply RFC2812 was a source of truth (in fact, it is wrong and inconsistent here).

By consensus, I mean that all servers I could find which implement these features use 336/337 for INVITE replies and 346/347 for MODE replies -- except ircu2.

It would be in everyone's interest to unify these two differing behaviors; as clients tested only with ircu2 would break on all other servers and vice-versa.

entrope commented 2 years ago

Undernet's ircd has had the same behavior for at least 22 years (commit ae91ef6320, a bulk merge with the other side being unobvious). If other IRCDs chose to do something incompatible, that is their problem.

progval commented 2 years ago

I'm afraid that ship has sailed.

But okay, thanks for the quick replies.