Commits on Mar 3, 2013
  1. Fixed to_hex to return binary if it gets a binary, and removed the ab…

    whitelynx committed Mar 3, 2013
    …ility to pass arbitrary digest functions, since crypto:hmac doesn't support it.
  2. Rewrote most of the file with more readable code style added more opt…

    whitelynx committed Mar 3, 2013
    …ions, and cleaned up implementation.
    - Now, you must specify a MAC function to use. (use the atom 'sha' to get the previous behavior)
    - Everything comes back as raw binary, now; you should probably encode it with pbkdf2:to_hex/1 or base4:encode/1 if you're putting it a non-binary-safe place.
    - Renamed pbkdf2:verify/2 to pbkdf2:compare_secure/2 to make it clearer what its purpose is.
Commits on Dec 5, 2012
  1. Updated .gitignore.

    whitelynx committed Dec 5, 2012
  2. Corrected module name.

    whitelynx committed Dec 5, 2012
Commits on Dec 4, 2012
  1. Don't eat custom ERL_LIBS.

    janl committed Dec 4, 2012
    Patch by Volker Mische.
    Closes COUCHDB-1621
Commits on Dec 1, 2012
  1. Make dependency on unistd.h specific to HAVE_CURL instead in the whol…

    dch committed Dec 1, 2012
    …e file
    - introduced in COUCHDB-1338
    - allows building cleanly on Windows without cURL
  2. Deprecate E4X

    janl committed Dec 1, 2012
  3. fix formatting in NEWS

    janl committed Dec 1, 2012
Commits on Nov 28, 2012
  1. COUCHDB-430,514,764 Fix list HTTP header handling.

    calebcase authored and dch committed Apr 15, 2012
    Currently calls to getRow() cause the HTTP headers to be sent immediately back
    to the client. This happens even if an error is thrown after the getRow(), but
    before any send(...) or start(...). Worse, if a list throws an exception an
    extra, invalid header is sent to the client (resulting in various bad
    Erlang list handling will now wait until data has been sent BEFORE sending the
    HTTP headers to the client. If an error is reported it will result in an HTTP
    error code as expected. This does not change the behavior of errors thrown
    AFTER data has been sent: They will still result in an HTTP 200 even if an
    error is reported.
    The line protocol between Erlang and os processes has been extended to support
    an optional Header field on "chunks" and "end". The javascript list handling
    has been updated to use this if a new header is set via start(...). This makes
    it possible to begin processing with getRow(), but later reset the headers via
    start(...). Again, if data has been sent(...) the new headers will NOT take
Commits on Nov 21, 2012
  1. test for 1608

    rnewson committed Nov 21, 2012
  2. Revert "Document Id and Rev in response headers" patch

    rnewson committed Nov 21, 2012
    This patch breaks some update handlers and also assumes that any JSON
    response body with a property called 'id' is the actual id of a
    created or updated document.
    This reverts;
Commits on Nov 19, 2012
  1. Allow a final config override to be specified via environment.

    dustin authored and dch committed May 9, 2011
    This lets the OS X startup define this user's config which will be
    used for editing and what-not.
    Forward port from 1.2.0
    Change-Id: I03ebce57030457e25c9c8cb60a679547a0cd84bf
    Tested-by: Dustin Sallings <>
    Reviewed-by: Steve Yen <>
    Reviewed-by: Filipe David Borba Manana <>
Commits on Nov 18, 2012
  1. Support auth cookies with : characters

    rnewson committed Nov 18, 2012
    The parts of a couchdb authentication cookie are separated by
    colons. One of these parts can contain colons and, more rarely, runs
    of colons. The string:tokens function silently drops any empty token,
    thus giving a spurious failure for valid input. The fix changes this
    mechanism to one that losslessly decodes this part.
Commits on Nov 14, 2012
  1. Add couch_httpd_misc_handlers:handle_file_req

    joelwreed authored and janl committed Jan 31, 2011
    This can be used to serve up files like /crossdomain.xml from a
    CouchDB instance. For example, you could add:
        crossdomain.xml = {couch_httpd_misc_handlers, handle_file_req, "/usr/share/couchdb/www/crossdomain.xml" }
    To your local.ini to serve up crossdomain.xml.
    Closes #4
  2. Stabilize replication id

    rnewson committed Nov 14, 2012
    This patch introduces a stable server-wide UUID which is used in place
    of the local hostname and port number in new replication ids. This
    allows CouchDB to find a valid checkpoint even if the coordinating
    node's port has changed (it might be using a dynamic port, for example).
Commits on Nov 13, 2012
  1. COUCHDB-1424 Fix etap to not consume any message

    fdmanana authored and janl committed Oct 31, 2012
    Turns out that etap consumes any message in the mailbox in
    some cases. This can make some tests that use message passing
    hang, as etap itself consumes the messages.
  2. update NEWS & CHANGES

    janl committed Nov 13, 2012
  3. Module Level Logging

    janl committed Oct 26, 2012
    With this patch, you can set log levels per CouchDB module that
    overrides the default set in `[log] level = `.
    For example:
        level = info
        couch_httpd = debug
    This will have all modules log at level 'info' and `couch_httpd` log
    at level 'debug'.
    See src/*/*.erl for the various CouchDB modules.
    Based on work started by Robert Newson.
  4. Work around race conditions in tests on faster hardware.

    janl committed Nov 13, 2012
Commits on Nov 9, 2012
Commits on Nov 8, 2012
Commits on Nov 2, 2012
  1. Test the X-Couch-Id header

    bjnortier authored and janl committed Nov 2, 2012