ircv3-ideas icon indicating copy to clipboard operation
ircv3-ideas copied to clipboard

Standardise informing clients of the need to identify

Open jesopo opened this issue 6 years ago • 8 comments

I think there should be a standardised way (e.g. a numeric) for a server to inform a client that they are using a nickname/account that requires authentication, e.g. in the scenario of...

:NickServ!NickServ@services. NOTICE jesopo :This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify .

There should be a parsable standardised way to communicate this (in addition to the NOTICE) so that clients can e.g. give a popup to the user to request credentials (like HTTP Authentication popups)

jesopo avatar Feb 09 '19 15:02 jesopo

This ins't really a candidate for FAIL - do we have anything like WARN? if not, should we?

jesopo avatar Feb 14 '19 21:02 jesopo

WARN suggested (by me) in ircv3/ircv3-specifications#357 a few moments ago. We could indeed have something like it. Seems like a useful addition.

dgw avatar Feb 14 '19 23:02 dgw

On the idea of this, in Oragono we have a mode where all client needs to be logged in via SASL before connection registration can complete. Freenode and other nets also do the same for certain classes of connections (particularly for proxies and such), makes sense to deliver this in a similar way using FAIL on connection to indicate it (I may pull this into the ACC spec when I get around to updating that thing).

DanielOaks avatar Feb 14 '19 23:02 DanielOaks

Literally just ran in to an issue caused by this on @slingamn's net. znc's *nickserv module didn't catch the client being asked for authentication because the source of the NOTICE was the IRC server - not nickserv which the module looks for.

jesopo avatar Feb 18 '19 00:02 jesopo

It's even worse than that: ZNC requires the message to contain both the English word "identify" and at least one of some other magic English-language strings.

https://github.com/znc/znc/blob/458ce602aa8b14ab870371e26ccec9d29c77bb97/modules/nickserv.cpp#L101

slingamn avatar Feb 18 '19 02:02 slingamn

@slingamn Yeah, I've touched that code but it's frustrating that it works the way it does. Kind of amazing that it works on as many networks as it does, as-is.

dgw avatar Feb 18 '19 03:02 dgw

ZNC's nickserv module is a workaround for networks which don't support SASL.

DarthGandalf avatar Feb 24 '19 09:02 DarthGandalf

https://github.com/ircv3/ircv3-specifications/pull/276 defines the ACCOUNT_REQUIRED code, can be either a FAIL (if a command fails to process, or e.g. you need SASL setup to connect to the network, etc), or a WARN (if you need to authenticate to prevent your nickname from getting changed, for example).

DanielOaks avatar Apr 08 '19 09:04 DanielOaks