summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_util.erl
AgeCommit message (Collapse)Author
2010-03-16Fixes couch_server:all_databases/0Paul Joseph Davis
The logic was failing when the database path had a '.' path component in the middle because Filename -- Root is not a prefix operation. This patch adds a normalization function to couch_util that is run on the Root and Filename variables before doing the array subtraction. I could probably make it smarter and error out but I got lazy. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@923526 13f79535-47bb-0310-9956-ffa450edef68
2010-03-05use OTP base64 lib. Patch by Filipe Manana. Closes COUCHDB-681Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@919449 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04reverting damien's latest commit until we can figure out why it's causing ↵John Christopher Anderson
failures git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918834 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04Changed process tree shutdown to be synchronous, to eliminate spurious test ↵Damien F. Katz
failures caused by processes not shutdown fast enough or at the wrong time. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918805 13f79535-47bb-0310-9956-ffa450edef68
2010-01-29Allow storing attachments in compressed form. Closes COUCHDB-583. Thanks ↵John Christopher Anderson
Filipe Manana git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@904650 13f79535-47bb-0310-9956-ffa450edef68
2010-01-12Add utility for verifying hashes.Jason David Davies
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@898477 13f79535-47bb-0310-9956-ffa450edef68
2009-12-16Provide Content-MD5 header support for attachments.Paul Joseph Davis
Fixes COUCHDB-558. Thanks to Filipe Manana we now have checks for attachment transfer integrity using the Content-MD5 header (or trailer). Use of this integrity check is triggered by specifying a Content-MD5 header in your request with a value that is a base64 encoded md5. For requests that are using a chunked Transfer-Encoding it is also possible to use a trailer so that the Content-MD5 doesn't need to be known before transfer. This works by specifying a header "Trailer: Content-MD5" and then in the final chunk (the one with a size of zero) you can specify a Content-MD5 with exactly the same format as in the request headers. See the ETap test 130-attachments-md5.t for explicit examples of the request messages. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@891077 13f79535-47bb-0310-9956-ffa450edef68
2009-11-26Move all C code to src/couchdb/privPaul Joseph Davis
Shuffling bits around to conform to Erlang conventions. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@884671 13f79535-47bb-0310-9956-ffa450edef68
2009-11-21upgrade mochiweb to r113, use hooks instead of forking mochijson2. COUCHDB-474Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@882941 13f79535-47bb-0310-9956-ffa450edef68
2009-11-21code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@882903 13f79535-47bb-0310-9956-ffa450edef68
2009-11-02cast string status codes (from _externals) to integers before logging. ↵Adam Kocoloski
COUCHDB-551 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@832091 13f79535-47bb-0310-9956-ffa450edef68
2009-10-24Move stat descriptions out of the config.Paul Joseph Davis
This lists stat descriptions in an Erlang term file to avoid abusing the config system. Uses a file in CouchDB's priv directory that is a list of three-tuple terms. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@829304 13f79535-47bb-0310-9956-ffa450edef68
2009-09-09choice of uuid algos for better insert perf. Closes COUCHDB-465. Thanks ↵Adam Kocoloski
rnewson, bitdiddle git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@813051 13f79535-47bb-0310-9956-ffa450edef68
2009-08-10suppress obsolete list() guard warningAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@802886 13f79535-47bb-0310-9956-ffa450edef68
2009-08-04Initial check-in of OAuth and cookie authentication.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@800938 13f79535-47bb-0310-9956-ffa450edef68
2009-08-04encode slashes in db names in Location response header after database ↵Jan Lehnardt
creation, move couch_rep:url_encode/1 to couch_util:url_encode/1, closes COUCHDB-411 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@800883 13f79535-47bb-0310-9956-ffa450edef68
2009-07-20Initial checkin of _changes filters. The prime weak-spot for this approach ↵John Christopher Anderson
is that it maintains an OS-process per connected filtered _changes consumer. I'm pretty sure we'll be able to work around this without changing the API, but it'll involve a lot of OS-process bookkeeping. Those enhancements should generally improve show & list performance as well. Punting on them for now, first wanted to get _changes filters implemented so people could give feedback. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795687 13f79535-47bb-0310-9956-ffa450edef68
2009-07-17Deterministic revids, MD5 checking of documents, added tracking of rev when ↵Damien F. Katz
an attachment is edited to allow attachment level replication. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795232 13f79535-47bb-0310-9956-ffa450edef68
2009-07-14wheeeeeeeeNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794057 13f79535-47bb-0310-9956-ffa450edef68
2009-07-06trimmed trailing whitespaceNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791350 13f79535-47bb-0310-9956-ffa450edef68
2009-06-25Adding tests for couch_task_status.erlPaul Joseph Davis
Thanks Bob Dionne git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@788246 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12Add non-streaming log-file handler. A GET request to /_log will show the ↵Jan Lehnardt
last 1000 bytes of the logflie. More bytes can be requested with GET /_log?bytes=10000. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@774045 13f79535-47bb-0310-9956-ffa450edef68
2009-04-10Fixes for leaked file handles, with test.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@763858 13f79535-47bb-0310-9956-ffa450edef68
2009-03-13Commit Damien's rep_security branch to trunk. John Christopher Anderson
Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or http://wiki.apache.org/couchdb/Breaking_changes git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@753448 13f79535-47bb-0310-9956-ffa450edef68
2009-03-07rewrite replicator using OTP behavioursAdam Kocoloski
- only one instance of given source->target runs at a time - supervisor restarts replications that terminate abnormally - pull repl. streams attachments directly to disk - improved memory utilization - temporarily rollback parallel async doc GETs during pull rep. - replication updates show up in Futon Status window git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751305 13f79535-47bb-0310-9956-ffa450edef68
2008-11-20Nearly completed security/validation work. Still needs replication testing.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@719160 13f79535-47bb-0310-9956-ffa450edef68
2008-10-02HTTPd refactoring. Moved most code out of couch_httpd into associated ↵Damien F. Katz
modules (couch_httpd_view, couch_httpd_db, couch_httpd_misc_handlers). Also a fix to removed previous doc_by_seq index entries on compaction retry. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@701173 13f79535-47bb-0310-9956-ffa450edef68
2008-08-31Merged json_term_changes branch back into trunk.Christopher Lenz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@690668 13f79535-47bb-0310-9956-ffa450edef68
2008-08-30- Rename configuration options and sections to allow for a nicer .ini file ↵Jan Lehnardt
and HTTP API calls. - Enable .ini parser to read variable assignments with spaces around the '='-sign. - Remove inadequate comment. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@690513 13f79535-47bb-0310-9956-ffa450edef68
2008-08-22Fix for couch_server process crash when databases that don't exist are ↵Damien F. Katz
attempted to be opened. Removed old comments and fixed the AllowRemoteRestart testing option. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@688129 13f79535-47bb-0310-9956-ffa450edef68
2008-08-20Merge runtimeconfig branch back into trunkJan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@687336 13f79535-47bb-0310-9956-ffa450edef68
2008-07-03Improve error message. If the couch_erl_driver.so is no goodJan Lehnardt
for some reason (linking e.g.) you get something along the lines of {"init terminating in do_boot","Driver is an inappropriate Mach-O file"} instead of {"init terminating in do_boot",{error,{open_error,-12}}} Patch by Dale Johnson <dale.johnson@gmail.com> git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@673634 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15Incremental reduce first checkin. Warning! Disk format change.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@656861 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23Replicator optmizations and fix for unnecessary document copy during ↵Damien F. Katz
re-replication git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@650705 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20Change uuid generaion to rely on crypto. Started crypto and inets ↵Damien F. Katz
application in startscript, and also couch_server_up. Fix for regression caused by accidental check-in of disabled etags. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@649988 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20Added proper UUID generation and changed the details of how way debug ↵Damien F. Katz
logging is done to now use a more effcient macro instead of a function call. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@649948 13f79535-47bb-0310-9956-ffa450edef68
2008-04-01Fix for runaway process in the view code and the so far untested storage ↵Damien F. Katz
compaction code. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@643556 13f79535-47bb-0310-9956-ffa450edef68
2008-03-28Imported trunk.Christopher Lenz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@642432 13f79535-47bb-0310-9956-ffa450edef68