Server Commands/ACCOUNT
Command Token: AC |
ACCOUNT <numeric> <flag> <args>
Examples:
1* Az AC ABAAC R JoeUser 1037526164 -- New (standard) 2* Az AC ABAAC R JoeUser -- New but No timestamp 3* Az AC AB A .15.1835576208 1037526164 -- LOC authorised 4* Az AC AB D .15.1835576208 1037526164 -- LOC denied 5* Az AC ABAAC U -- Unregister 6* Az AC ABAAC M J0eUser -- Rename
The ACCOUNT command implements a login system for ircd-darenet. When received by the user's server, the user (specified by <target> - the user's numeric nick) is considered logged in to the <account>. The optional <timestamp> parameter (used on DareNET) specifies a timestamp that can be used to determine which version of the user's account the user is logged in to; this can be used by service bots as a way of distinguishing hacked accounts from legitimate user logins after a password change, which would raise the timestamp.
A user remains logged in until one of the following conditions apply:
- The account is unregistered through NickServ.
- The account is suspended through NickServ.
- The user disconnects.
Since ircd-darenet propogates the account name (and timestamp, if set) when re-introducting users during net junctions, services bots will be able to see that a user is logged in and set their appropriate internal state. This means that users will stay logged in regardless of netsplits and nickname changes.
The account is only used by ircd-darenet for pre-logging in users while they're connecting (e.g. login-on-connect), for umode +R & cmodes +R/M, host hiding and for application of channel bans and silence masks. ircd-darenet does not otherwise use account information.
ACCOUNT is intended to be issued by service bots on the network. The login-on-connect sustem is based on IAuth, which casues the server to introduce the client as logged in, just as during net junctions.