LuaIRC
LuaIRC copied to clipboard
Add handler for 437 ERR_UNAVAILRESOURCE.
The server closes your connection if you are in the process of connecting and do not supply another nickname.
I've ever seen 437 sent during authentication, so I can't comment on this one. Ping @ShadowNinja?
@JakobOvrum: Based on RFC2812 this is sent in response to NICK if the nickname is protected by delay-based nickname protection. It doesn't specify if this is sent in the registration phase. Delay-based nickname protection mechanisms aren't used much anymore, but this might be sent for other related reasons.
@mindless2112: Do you have examples of current IRCds that send this numeric?
@ShadowNinja ircd-seven-1.1.3 (Freenode) sends this after a few times of failing to identify for a protected nickname.
Normally when changing to a protected nickname (NickServ's "set enforce on" command), you get a short grace period to identify, after which the server forces a nickname change upon you. But if you don't identify several times within some short period of time (seems to be several minutes) then the server does not give a grace period for that nickname but instead replies with 437. In order to use the nickname, you then have to use NickServ's "release" command to remove the restriction (assuming the nickname is yours) or wait until the restriction expires.
I triggered this on a different network using Charydbis and Atheme:
$ netcat <SERVER> 6667
[...]
nick x
[...]
:NickServ NOTICE x :You have 30 seconds to identify to your nickname before it is changed.
:NickServ NOTICE x :You failed to identify in time for the nickname x
^C
$ netcat <SERVER> 6667
nick x
:<SERVER> 437 * x :Nick/channel is temporarily unavailable
I've added this to my fork as ShadowNinja/LuaIRC@b4da48292318bb05d13006b4f79f9177c9efa41d