commit | 8d81a8f76527558355eaa19b46ef7419e72f3beb | [log] [tgz] |
---|---|---|
author | Klaus Trainer <klaus_trainer@posteo.de> | Tue Aug 18 17:52:05 2015 +0200 |
committer | Klaus Trainer <klaus_trainer@posteo.de> | Tue Aug 18 17:52:05 2015 +0200 |
tree | e0faa01dce18c14a43bde2cfc4be840581e099a4 | |
parent | 473471907c1835f1877805023cfd13ecd3e2ac3a [diff] |
Clean up src/couchdb_peruser.app.src
couchdb_peruser is a CouchDB daemon that ensures that a private per-user database exists for each document in _users. These databases are writable only by the corresponding user. Databases are in the form:
userdb-{hex encoded username}
For example, the user bob
will have a database named userdb-626f62
.
The reason for hex encoding is that CouchDB usernames have no restrictions, but CouchDB databases have restrictions. Hex encoding the UTF-8 representation of the username is a transformation that's easy to correctly implement in just about any language, especially JavaScript and Erlang. Other encodings would be possible, but would require additional client and server-side code to support that encoding. This is the simplest scheme that is obviously correct.