.PP
Neither commands nor responses have a body unless stated otherwise.
.TP
-.B adduser \fIUSERNAME PASSWORD
-Creates a new user with the given username and password. Requires the
-\fBadmin\fR right, and only works on local connections.
+.B adduser \fIUSERNAME PASSWORD \fR[\fIRIGHTS\fR]
+Creates a new user with the given username and password. The new user's rights
+list can be specified; if it is not then the \fBdefault_rights\fR setting
+applies instead. Requires the \fBadmin\fR right, and only works on local
+connections.
.TP
.B allfiles \fIDIRECTORY\fR [\fIREGEXP\fR]
Lists all the files and directories in \fIDIRECTORY\fR in a response body.
If \fIREGEXP\fR is present only matching files and directories are returned.
.TP
+.B confirm \fICONFIRMATION
+Confirm user registration. \fICONFIRMATION\fR is as returned from
+\fBregister\fR below. This command can be used without logging in.
+.TP
.B cookie \fICOOKIE
Log a user back in using a cookie created with \fBmake-cookie\fR.
.TP
Request that DisOrder reconfigure itself. Requires the \fBadmin\fR right.
command.
.TP
+.B register \fIUSER PASSWORD EMAIL
+Register a new user. Requires the \fBregister\fR right. The result contains a
+confirmation string; the user will be be able to log in until this has been
+presented back to the server via the \fBconfirm\fR command.
+.TP
.B remove \fIID\fR
Remove the track identified by \fIID\fR. Requires one of the \fBremove
mine\fR, \fBremove random\fR or \fBremove any\fR rights depending on how the
.B 9
The text part is just commentary (but would normally be a response for this
command) e.g. \fBplaying\fR.
+.PP
+Result strings (not bodies) intended for machine parsing (i.e. xx1 and xx2
+responses) are quoted.
.SH AUTHENTICATION
When a connection is made the server sends a \fB231\fR response before any
-command is received. This contains an algorithm name and a challenge encoded
-in hex.
+command is received. This contains a protocol generation, an algorithm name
+and a challenge encoded in hex, all separated by whitespace.
+.PP
+The current protocol generation is \fB2\fR.
.PP
The possible algorithms are (currently) \fBsha1\fR, \fBsha256\fR, \fBsha384\fR
and \fBsha512\fR. \fBSHA1\fR etc work as synonyms.