Changes

Jump to navigation Jump to search
571 bytes added ,  03:44, 5 December 2014
no edit summary
* <code>{...}</code>: utf8 strings or raw data, suffixed with a <code>\0</code> byte. To avoid confusion with this end-of-string byte, all <code>\0</code> and <code>\FF</code> bytes that occur in raw data will be prefixed with <code>\FF</code>.
===Authentication === {{Mark|Since Version 8.0}}, digest authentication is used to communicate with the server: # Client connects to server socket# Server sends realm and nonce:<br/><code>{realm:nonce}</code># Client sends user name and hash value:<br/><code>{username} {md5(md5(username:realm:password) + nonce)}</code># Server replies with <code>\0</code> (via success) or <code>\1</code> (error) ===[http://tools.ietf.org/html/rfc2195 cram-md5](before Version 8.0)===
# Client connects to server socket
# Server sends nonce (timestamp (string representation of the current time in milliseconds):<br/><code>{timestampnonce}</code># Client sends username user name and hashed password/timestamphash value:<br/><code>{username} {md5(md5(password) + timestampnonce)}</code>
# Server replies with <code>\0</code> (success) or <code>\1</code> (error)
 
Clients can easily be implemented to both support {{Code|digest}} and {{Code|cram-md5}} authentication: If the first server response contains no colon, {{Code|cram-md5}} should be chosen.
===Command Protocol===
;Version 8.0
* Updated: CRAM-MD5 replaced with digest authentication
* Updated: {{Code|BIND}} command: support more than one item
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu