====CRAM-MD5====
CRAM-MD5 was discarded, because unsalted md5 hashes could can easily be uncoveredusing rainbow tables. However, most client bindings still provide support forthe outdated handshaking, as it only slightly differs from the new protocol:
# Client connects to server socket
# Server replies with <code>\00</code> (success) or <code>\01</code> (error)
Clients can easily be implemented It is possible to support both support {{Code|digest}} and {{Code|cram-md5}} authenticationin clients: If the first server response contains no colon, {{Code|cram-md5}} should be chosen.
===Command Protocol===
|-
| ADD
| <code>\09 {name} {path} {input}</code>
| <code>{info} \00</code>
| Adds a new document to the opened database.
====Binding Sequences====
Also , sequences can be bound to variables and the context:
* {{Code|empty-sequence()}} must be supplied as type if an empty sequence is to be bound.