You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by kx...@apache.org on 2015/09/28 16:49:30 UTC

[01/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Repository: couchdb
Updated Branches:
  refs/heads/developer-preview-2.0 2a31bca89 -> 3ac3db680


add erlang 17.5 to travis


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/5784e3c8
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/5784e3c8
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/5784e3c8

Branch: refs/heads/developer-preview-2.0
Commit: 5784e3c8be3d9b0994c75cbac05cd82a3dbe3cce
Parents: 2a31bca
Author: Robert Newson <rn...@apache.org>
Authored: Wed Jul 22 08:50:38 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Jul 22 08:50:43 2015 +0100

----------------------------------------------------------------------
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/5784e3c8/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 73259d6..ccce961 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,6 +13,7 @@ script:
    - grunt test
 language: erlang
 otp_release:
+   - 17.5
    - 17.4
    - 17.1
    - 17.0


[10/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Take out references to jquery.form.js

from 95f913a57ce8aa8aa08252a2af6d80b776c4f459 in couchdb-fauxton


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a8ff569a
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a8ff569a
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a8ff569a

Branch: refs/heads/developer-preview-2.0
Commit: a8ff569a3a865bc634173e8a7fdb1bdb8565c996
Parents: eb34513
Author: Michelle Phung <mi...@apache.org>
Authored: Thu Aug 20 12:19:37 2015 -0400
Committer: Michelle Phung <mi...@apache.org>
Committed: Thu Aug 20 12:19:37 2015 -0400

----------------------------------------------------------------------
 LICENSE | 24 ------------------------
 NOTICE  |  4 ----
 2 files changed, 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/a8ff569a/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 23d428e..f8cbb57 100644
--- a/LICENSE
+++ b/LICENSE
@@ -260,30 +260,6 @@ For the share/www/script/jquery-ui-* components:
   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-For the share/www/script/jquery.form.js component:
-For the src/fauxton/assets/js/plugins/jquery.form.js component:
-
-  http://malsup.com/jquery/form/
-
-  Permission is hereby granted, free of charge, to any person obtaining
-  a copy of this software and associated documentation files (the
-  "Software"), to deal in the Software without restriction, including
-  without limitation the rights to use, copy, modify, merge, publish,
-  distribute, sublicense, and/or sell copies of the Software, and to
-  permit persons to whom the Software is furnished to do so, subject to
-  the following conditions:
-
-  The above copyright notice and this permission notice shall be
-  included in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
 For the share/www/script/json2.js component:
 
   Public Domain

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a8ff569a/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index 7d32bcd..54c4091 100644
--- a/NOTICE
+++ b/NOTICE
@@ -122,10 +122,6 @@ This product also includes the following third-party components:
 
    Copyright (c) 2010-2011, The Dojo Foundation
 
- * jquery.form.js (https://github.com/malsup/form/)
-
-   Copyright 2006-2013 (c) M. Alsup
-
  * mocha.js (https://github.com/visionmedia/mocha)
   
    Copyright (c) 2011-2013 TJ Holowaychuk <tj...@vision-media.ca>


[18/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
remove duplicated THANKS-file

was renamed to CONTRIBUTORS.in, but readded by a merge


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/999f7102
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/999f7102
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/999f7102

Branch: refs/heads/developer-preview-2.0
Commit: 999f71025f6b63bd87fd9b3556a629fb4ca8a038
Parents: d56f2fc
Author: Robert Kowalski <ro...@kowalski.gd>
Authored: Sat Aug 29 22:16:00 2015 +0200
Committer: Robert Kowalski <ro...@kowalski.gd>
Committed: Sat Aug 29 22:16:00 2015 +0200

----------------------------------------------------------------------
 THANKS.in | 96 ----------------------------------------------------------
 1 file changed, 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/999f7102/THANKS.in
----------------------------------------------------------------------
diff --git a/THANKS.in b/THANKS.in
deleted file mode 100644
index 8b2a34f..0000000
--- a/THANKS.in
+++ /dev/null
@@ -1,96 +0,0 @@
-Apache CouchDB THANKS
-=====================
-
-A number of people have contributed to Apache CouchDB by reporting problems,
-suggesting improvements or submitting changes. Some of these people are:
-
- * William Beh <wi...@gmail.com>
- * Dirk Schalge <di...@epd-me.net>
- * Roger Leigh <rl...@debian.org>
- * Sam Ruby <ru...@intertwingly.net>
- * Carlos Valiente <su...@gmail.com>
- * Till Klampaeckel <ti...@klampaeckel.de>
- * Jim Lindley <we...@jimlindley.com>
- * Yoan Blanc <yo...@gmail.com>
- * Michael Gottesman <go...@reed.edu>
- * Mark Baran <me...@gmail.com>
- * Michael Hendricks <mi...@ndrix.org>
- * Antony Blakey <an...@gmail.com>
- * Paul Carey <pa...@gmail.com>
- * Hunter Morris <hu...@gmail.com>
- * Brian Palmer <ji...@brian.codekitchen.net>
- * Maximillian Dornseif <md...@hudora.de>
- * Eric Casteleijn <er...@canonical.com>
- * Maarten Thibaut <mt...@cisco.com>
- * Florian Ebeling <fl...@gmail.com>
- * Volker Mische <vo...@gmail.com>
- * Brian Candler <B....@pobox.com>
- * Brad Anderson <br...@sankatygroup.com>
- * Nick Gerakines <ni...@gerakines.net>
- * Kevin Ilchmann Jørgensen <ki...@gmail.com>
- * Sebastian Cohnen <se...@gmx.net>
- * Sven Helmberger <sv...@gmx.de>
- * Dan Walters <da...@danwalters.net>
- * Curt Arnold <ca...@apache.org>
- * Gustavo Niemeyer
- * Joshua Bronson <ja...@gmail.com>
- * Kostis Sagonas <ko...@cs.ntua.gr>
- * Matthew Hooker <mw...@gmail.com>
- * Ilia Cheishvili <il...@gmail.com>
- * Lena Herrmann <le...@zeromail.org>
- * Jack Moffit <me...@gmail.com>
- * Damjan Georgievski <gd...@gmail.com>
- * Jan Kassens <ja...@kassens.net>
- * James Marca <jm...@translab.its.uci.edu>
- * Matt Goodall <ma...@gmail.com>
- * Joel Clark <un...@yahoo.com>
- * Matt Lyon <ma...@flowerpowered.com>
- * mikeal <mi...@gmail.com>
- * Joscha Feth <jo...@feth.com>
- * Jarrod Roberson <ja...@vertigrated.com>
- * Jae Kwon <jk...@gmail.com>
- * Gavin Sherry <sw...@alcove.com.au>
- * Timothy Smith <ti...@couch.io>
- * Martin Haaß <Ma...@gmx.net>
- * Hans Ulrich Niedermann <hu...@n-dimensional.de>
- * Dmitry Unkovsky <oi...@gmail.com>
- * Zachary Zolton <za...@gmail.com>
- * Brian Jenkins <bo...@bonkydog.com>
- * Paul Bonser <pi...@paulbonser.com>
- * Caleb Land <ca...@gmail.com>
- * Juhani Ränkimies <ju...@juranki.com>
- * Kev Jackson <fo...@gmail.com>
- * Jonathan D. Knezek <jd...@gmail.com>
- * David Rose <do...@gmail.com>
- * Lim Yue Chuan <sh...@gmail.com>
- * David Davis <xa...@xantus.org>
- * Juuso Väänänen <ju...@vaananen.org>
- * Jeff Zellner <je...@gmail.com>
- * Gabriel Farrell <gs...@gmail.com>
- * Mike Leddy <mi...@loop.com.br>
- * Wayne Conrad <wa...@databill.com>
- * Thomas Vander Stichele <th...@apestaart.org>
- * Felix Hummel <ap...@felixhummel.de>
- * Tim Smith <ti...@couchbase.com>
- * Dipesh Patel <di...@googlemail.com>
- * Sam Bisbee <sa...@sbisbee.com>
- * Nathan Vander Wilt <na...@yahoo.com>
- * Caolan McMahon <ca...@googlemail.com>
- * Andrey Somov <tr...@gmail.com>
- * Chris Coulson <chrisccoulson.googlemail.com>
- * Trond Norbye <tr...@gmail.com>
- * Christopher Bonhage <qu...@me.com>
- * Christian Carter <cd...@gmail.com>
- * Lukasz Mielicki <mi...@gmail.com>
- * Omar Yasin <omarkj@gmail.com
- * Matt Cooley <ma...@mattcooley.net>
- * Simon Leblanc <si...@gmail.com>
- * Rogutės Sparnuotos <ro...@googlemail.com>
- * Gavin McDonald <gm...@apache.org>
- * Fedor Indutny <fe...@indutny.com>
- * Tim Blair
- * Tady Walsh <he...@tady.me>
- * Sam Rijs <re...@awesam.de>
-# Authors from commit 6c976bd and onwards are auto-inserted. If you are merging
-# a commit from a non-committer, you should not add an entry to this file. When
-# `bootstrap` is run, the actual THANKS file will be generated.


[23/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Set -name to hostname during ./configure for Win64

CC @janl simple enough ;)


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a84fcb2d
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a84fcb2d
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a84fcb2d

Branch: refs/heads/developer-preview-2.0
Commit: a84fcb2d98af2781b2c595c15d84ced5474de09c
Parents: 71fb2b8
Author: Joan Touzet <wo...@apache.org>
Authored: Wed Sep 9 22:14:40 2015 -0400
Committer: Joan Touzet <wo...@apache.org>
Committed: Wed Sep 9 22:16:40 2015 -0400

----------------------------------------------------------------------
 configure.ps1 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/a84fcb2d/configure.ps1
----------------------------------------------------------------------
diff --git a/configure.ps1 b/configure.ps1
index 75a6d17..23f2a5b 100644
--- a/configure.ps1
+++ b/configure.ps1
@@ -114,6 +114,7 @@ $InstallDir="$LibDir\couchdb"
 $LogFile="$LogDir\couch.log"
 $BuildFauxton = [int](-not $DisableFauxton)
 $BuildDocs = [int](-not $DisableDocs)
+$Hostname = [System.Net.Dns]::GetHostEntry([string]"localhost").HostName
 
 Write-Verbose "==> configuring couchdb in rel\couchdb.config"
 $CouchDBConfig = @"
@@ -138,7 +139,7 @@ $CouchDBConfig = @"
 {log_file, "$LogFile"}.
 {fauxton_root, "$DataRootDir/couchdb/www"}.
 {user, "$CouchDBUser"}.
-{node_name, "-name couchdb"}.
+{node_name, "-name $Hostname"}.
 {cluster_port, 5984}.
 {backend_port, 5986}.
 "@


[27/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add papaparse license to LICENSE file for Fauxton


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/71af0bb5
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/71af0bb5
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/71af0bb5

Branch: refs/heads/developer-preview-2.0
Commit: 71af0bb535c465696e0f4a02c7ed80f220369200
Parents: f0ac297
Author: Michelle Phung <mi...@apache.org>
Authored: Thu Sep 17 09:49:07 2015 -0400
Committer: Michelle Phung <mi...@apache.org>
Committed: Thu Sep 17 09:49:07 2015 -0400

----------------------------------------------------------------------
 LICENSE | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/71af0bb5/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index f8cbb57..2deab42 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1385,3 +1385,26 @@ for src/fauxton/assets/js/libs/css.escape.js
     LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+for src/fauxton/assets/js/libs/papaparse.js
+
+    The MIT License (MIT)
+
+    Copyright (c) 2015 Matthew Holt
+
+    Permission is hereby granted, free of charge, to any person obtaining a copy of
+    this software and associated documentation files (the "Software"), to deal in
+    the Software without restriction, including without limitation the rights to
+    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+    the Software, and to permit persons to whom the Software is furnished to do so,
+    subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in all
+    copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+    FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+    COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+    IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+    CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


[38/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Fix crypto deprecation warning


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/b742d507
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/b742d507
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/b742d507

Branch: refs/heads/developer-preview-2.0
Commit: b742d5077eda6ecb0d0346bed7ba508fee823d2c
Parents: 7992a78
Author: Robert Newson <rn...@apache.org>
Authored: Fri Sep 25 12:15:57 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Fri Sep 25 12:21:15 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/b742d507/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 25b26db..f02f433 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -22,13 +22,13 @@ DepDescs = [
 {couch_log,        "couch-log",        "7e615ac1b27c61e63b2b8015800ed51ece0f7ad3"},
 {couch_log_lager,  "couch-log-lager",  "64cd100cb566ce93af9ef168fa86f9f70424b77b"},
 {config,           "config",           "b2ecd0d47a776256956ce045123423494ff85e8e"},
-{chttpd,           "chttpd",           "6f14c6169d5dc0f7f0417b334d65bddf9f54cb8c"},
-{couch,            "couch",            "8bbfba7003d4ad3e8d62f1f13147b22e9138c954"},
-{couch_epi,        "couch-epi",        "1d30ba1b05ca48e0482ad2df7cb617ebb5b07c29"},
+{chttpd,           "chttpd",           "64a5728152ea0a17dd71f133241ef47575fdf98a"},
+{couch,            "couch",            "9afa6a0979c37f4dfb72deb1c7d26aadd1aec694"},
+{couch_epi,        "couch-epi",        "aa72f6ffcc9c7095ed59b4d56f5f8139a5205a1f"},
 {couch_index,      "couch-index",      "6565cb961a8da21b21d213e4981133e119bb5ff1"},
-{couch_mrview,     "couch-mrview",     "aa51eb4beefaf69d32f835df82bd7f9e738c1884"},
-{couch_replicator, "couch-replicator", "b695bb293aceb2a3157da70138dbf3966f1a64e6"},
-{couch_plugins,    "couch-plugins",    "2b2933edddf936e2300db09ced2d96a4a10a269d"},
+{couch_mrview,     "couch-mrview",     "52cc9c5f168ddc31f3e21f73799a34dd52b9c1e4"},
+{couch_replicator, "couch-replicator", "73139f0ebaee1b7bb49f926aebb0c3106c21ce74"},
+{couch_plugins,    "couch-plugins",    "3e73b723cb126cfc471b560d17c24a8b5c540085"},
 {couch_event,      "couch-event",      "835a41885d1e276d207758954f8238aa7bba0ae8"},
 {couch_stats,      "couch-stats",      "7895d4d3f509ed24f09b6d1a0bd0e06af34551dc"},
 {couch_peruser,    "peruser",          "ff7d190970a46722137fbc7a1a75466e8a544ae1"},
@@ -44,10 +44,10 @@ DepDescs = [
 {ioq,              "ioq",              "c7c75ebeaf41599e3a3e211097d864f0e7785829"},
 {jiffy,            "jiffy",            "ea19c417f9fd52fa3f7ef2d378735e5532c59b29"},
 {khash,            "khash",            "fc1a80fe38cb7f1c19ba0b4d275f14fbf3b5251e"},
-{mango,            "mango",            "bb595d01018f1f8e67623606f625a13ccf6cb239"},
-{mem3,             "mem3",             "a8cf4dff133ecf4421eb585141f6fe347dbf9be2"},
+{mango,            "mango",            "9eb60e78ca2d8abb42d40324470dd54d37a84746"},
+{mem3,             "mem3",             "07c865611c5ff20dcbc17da126662471d0d6be57"},
 {mochiweb,         "mochiweb",         "bd6ae7cbb371666a1f68115056f7b30d13765782"},
-{oauth,            "oauth",            "2e26bf0f4ace399ea0dcc593255ec042445c02e9"},
+{oauth,            "oauth",            "099057a98e41f3aff91e77e3cf496d6c6fd901df"},
 {rexi,             "rexi",             "a327b7dbeb2b0050f7ca9072047bf8ef2d282833"},
 {snappy,           "snappy",           "0ab2796f82789895a2a86d403e63f3823d3c5a1d"},
 {setup,            "setup",            "647ffbc4a1216239045af1e210863b9086f71cf4"},


[14/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Don't skip own apps for eunit testing


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a692f16c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a692f16c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a692f16c

Branch: refs/heads/developer-preview-2.0
Commit: a692f16c8cfb96b9178948e261fadfa777c03e2c
Parents: 0fdc54f
Author: Alexander Shorin <kx...@apache.org>
Authored: Sun Aug 23 13:46:37 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Sun Aug 23 13:46:37 2015 +0300

----------------------------------------------------------------------
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/a692f16c/Makefile
----------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index 5c96cf8..cefdf80 100644
--- a/Makefile
+++ b/Makefile
@@ -156,7 +156,7 @@ docker-stop:
 eunit: export BUILDDIR = $(shell pwd)
 eunit: couch
 	@rebar setup_eunit
-	@rebar -r eunit skip_deps=meck,mochiweb,lager,snappy,couch_replicator,fabric,folsom
+	@rebar -r eunit skip_deps=meck,mochiweb,lager,snappy,folsom
 
 javascript: all
 	# TODO: Fix tests to look for these files in their new path


[03/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
CSRF tests

COUCHDB-2762


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/09b9a722
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/09b9a722
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/09b9a722

Branch: refs/heads/developer-preview-2.0
Commit: 09b9a722fe4c297eff7041b3426f8e067b921b25
Parents: 0c579b9
Author: Robert Newson <rn...@apache.org>
Authored: Tue Aug 4 11:53:25 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Aug 5 14:15:01 2015 +0100

----------------------------------------------------------------------
 test/javascript/tests/csrf.js | 54 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/09b9a722/test/javascript/tests/csrf.js
----------------------------------------------------------------------
diff --git a/test/javascript/tests/csrf.js b/test/javascript/tests/csrf.js
new file mode 100644
index 0000000..9baef82
--- /dev/null
+++ b/test/javascript/tests/csrf.js
@@ -0,0 +1,54 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+couchTests.csrf = function(debug) {
+  if (debug) debugger;
+
+  // Handy function to cause CouchDB to delete the CSRF cookie
+  var deleteCsrf = function() {
+    var xhr = CouchDB.request("GET", "/",
+                              {headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+    TEquals(403, xhr.status);
+  };
+
+  // Shouldn't receive header if we didn't ask for it
+  var xhr = CouchDB.request("GET", "/");
+  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Didn't ask for CSRF");
+  TEquals(200, xhr.status);
+
+  // Matching but invalid cookie/header should 403
+  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+  TEquals(403, xhr.status);
+  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent invalid cookie and header");
+
+  // Can I acquire a CouchDB-CSRF cookie?
+  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'true'}});
+  var cookie = xhr.getResponseHeader("Set-Cookie").match('^CouchDB-CSRF=([^;]+)');
+  T(cookie, "Should receive cookie");
+
+  // If I have a cookie, do I get a 403 if I don't send the header?
+  xhr = CouchDB.request("GET", "/");
+  TEquals(403, xhr.status);
+  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We didn't send the header");
+
+  // If I have a cookie, do I get a 200 if I send a matching header?
+  xhr = CouchDB.request("GET", "/", {headers: {"X-CouchDB-CSRF": cookie[1]}});
+  TEquals(200, xhr.status);
+  TEquals("true", xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Server should have sent this");
+
+  // How about the wrong header?
+  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'foo'}});
+  TEquals(403, xhr.status);
+  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent a mismatched header");
+
+  deleteCsrf();
+};


[36/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Specify dependent commits explicitly


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/1264c9cc
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/1264c9cc
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/1264c9cc

Branch: refs/heads/developer-preview-2.0
Commit: 1264c9cccf6154a1110dc50dc2b0c361a6c4848c
Parents: 75e54ea
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 24 16:54:36 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 24 16:59:37 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 70 ++++++++++++++++++++++++------------------------
 1 file changed, 35 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/1264c9cc/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 2b1219c..d5e9e28 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -17,41 +17,41 @@ os:putenv("COUCHDB_CONFIG", ConfigureEnv).
 
 
 DepDescs = [
-    {b64url,            "b64url",           {branch, "master"}},
-    {cassim,            "cassim",           {branch, "master"}},
-    {couch_log,         "couch-log",        {branch, "master"}},
-    {couch_log_lager,   "couch-log-lager",  {branch, "master"}},
-    {config,            "config",           {branch, "master"}},
-    {chttpd,            "chttpd",           {branch, "master"}},
-    {couch,             "couch",            {branch, "master"}},
-    {couch_epi,         "couch-epi",        {branch, "master"}},
-    {couch_index,       "couch-index",      {branch, "master"}},
-    {couch_mrview,      "couch-mrview",     {branch, "master"}},
-    {couch_replicator,  "couch-replicator", {branch, "master"}},
-    {couch_plugins,     "couch-plugins",    {branch, "master"}},
-    {couch_event,       "couch-event",      {branch, "master"}},
-    {couch_stats,       "couch-stats",      {branch, "master"}},
-    {couch_peruser,     "peruser",          {branch, "master"}},
-    {docs,              "documentation",    {branch, "master"}, [raw]},
-    {ddoc_cache,        "ddoc-cache",       {branch, "master"}},
-    {ets_lru,           "ets-lru",          {branch, "master"}},
-    {fabric,            "fabric",           {branch, "master"}},
-    {fauxton,           "fauxton",          {branch, "master"}, [raw]},
-    {folsom,            "folsom",           {branch, "master"}},
-    {global_changes,    "global-changes",   {branch, "master"}},
-    {goldrush,          "goldrush",         {tag, "0.1.6"}},
-    {ibrowse,           "ibrowse",          {branch, "master"}},
-    {ioq,               "ioq",              {branch, "master"}},
-    {jiffy,             "jiffy",            {branch, "master"}},
-    {khash,             "khash",            {branch, "master"}},
-    {mango,             "mango",            {branch, "master"}},
-    {mem3,              "mem3",             {branch, "master"}},
-    {mochiweb,          "mochiweb",         {branch, "upstream"}},
-    {oauth,             "oauth",            {branch, "master"}},
-    {rexi,              "rexi",             {branch, "master"}},
-    {snappy,            "snappy",           {branch, "master"}},
-    {setup,             "setup",            {branch, "master"}},
-    {meck,              "meck",             {tag, "0.8.2"}}
+{b64url,           "b64url",           "319fc604235ab1fde37047b38a432450161db750"},
+{cassim,           "cassim",           "1ae21f7c415acf3d1aba8b4924ca3093014b86b1"},
+{couch_log,        "couch-log",        "7e615ac1b27c61e63b2b8015800ed51ece0f7ad3"},
+{couch_log_lager,  "couch-log-lager",  "64cd100cb566ce93af9ef168fa86f9f70424b77b"},
+{config,           "config",           "b2ecd0d47a776256956ce045123423494ff85e8e"},
+{chttpd,           "chttpd",           "6f14c6169d5dc0f7f0417b334d65bddf9f54cb8c"},
+{couch,            "couch",            "8bbfba7003d4ad3e8d62f1f13147b22e9138c954"},
+{couch_epi,        "couch-epi",        "1d30ba1b05ca48e0482ad2df7cb617ebb5b07c29"},
+{couch_index,      "couch-index",      "6565cb961a8da21b21d213e4981133e119bb5ff1"},
+{couch_mrview,     "couch-mrview",     "aa51eb4beefaf69d32f835df82bd7f9e738c1884"},
+{couch_replicator, "couch-replicator", "b695bb293aceb2a3157da70138dbf3966f1a64e6"},
+{couch_plugins,    "couch-plugins",    "2b2933edddf936e2300db09ced2d96a4a10a269d"},
+{couch_event,      "couch-event",      "835a41885d1e276d207758954f8238aa7bba0ae8"},
+{couch_stats,      "couch-stats",      "7895d4d3f509ed24f09b6d1a0bd0e06af34551dc"},
+{couch_peruser,    "couch-peruser",    "ff7d190970a46722137fbc7a1a75466e8a544ae1"},
+{docs,             "docs",             "57a65effe92685f54aa21e2512b5f6590ed08dc0", [raw]},
+{ddoc_cache,       "ddoc-cache",       "c762e90a33ce3cda19ef142dd1120f1087ecd876"},
+{ets_lru,          "ets-lru",          "09128046ae9fbabfe1d70cb406aca878f6ea1dd5"},
+{fabric,           "fabric",           "17f0377807804b7b55db6c6b378d9e266ea52236"},
+{fauxton,          "fauxton",          "f0d4518617ac58fa394f7b3db92dd605d7253c98", [raw]},
+{folsom,           "folsom",           "fbb7bc83806520ffef84107c85f53c1f7113c20d"},
+{global_changes,   "global-changes",   "16d0200bcf1dc1700b07168f7a8174b486b9735d"},
+{goldrush,         "goldrush",         {tag, "0.1.6"}},
+{ibrowse,          "ibrowse",          "4af2d408607874d124414ac45df1edbe3961d1cd"},
+{ioq,              "ioq",              "c7c75ebeaf41599e3a3e211097d864f0e7785829"},
+{jiffy,            "jiffy",            "ea19c417f9fd52fa3f7ef2d378735e5532c59b29"},
+{khash,            "khash",            "fc1a80fe38cb7f1c19ba0b4d275f14fbf3b5251e"},
+{mango,            "mango",            "bb595d01018f1f8e67623606f625a13ccf6cb239"},
+{mem3,             "mem3",             "a8cf4dff133ecf4421eb585141f6fe347dbf9be2"},
+{mochiweb,         "mochiweb",         "bd6ae7cbb371666a1f68115056f7b30d13765782"},
+{oauth,            "oauth",            "2e26bf0f4ace399ea0dcc593255ec042445c02e9"},
+{rexi,             "rexi",             "a327b7dbeb2b0050f7ca9072047bf8ef2d282833"},
+{snappy,           "snappy",           "0ab2796f82789895a2a86d403e63f3823d3c5a1d"},
+{setup,            "setup",            "647ffbc4a1216239045af1e210863b9086f71cf4"},
+{meck,             "meck",             {tag, "0.8.2"}}
 ],
 
 BaseUrl = "https://git-wip-us.apache.org/repos/asf/",


[12/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Fix typo


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/6b313243
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/6b313243
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/6b313243

Branch: refs/heads/developer-preview-2.0
Commit: 6b3132435ead8aa6252821a000c9ad4acc0368c1
Parents: 72f72b2
Author: Alexander Shorin <kx...@apache.org>
Authored: Thu Aug 20 23:50:52 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Thu Aug 20 23:50:52 2015 +0300

----------------------------------------------------------------------
 COMMITTERS.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/6b313243/COMMITTERS.md
----------------------------------------------------------------------
diff --git a/COMMITTERS.md b/COMMITTERS.md
index db5cada..6caf83c 100644
--- a/COMMITTERS.md
+++ b/COMMITTERS.md
@@ -1,7 +1,7 @@
 Apache CouchDB COMMITTERS
 =========================
 
-Committers are given a binding vote in certain project decsions, as well as
+Committers are given a binding vote in certain project decisions, as well as
 write access to public project infrastructure. The following people were
 elected as a committer in recognition of their commitment to the project. We
 mean this in the sense of being loyal to the project and its interests.


[26/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add papaparse.js to NOTICE file for data-importer in Fauxton


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/f0ac297c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/f0ac297c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/f0ac297c

Branch: refs/heads/developer-preview-2.0
Commit: f0ac297cc67e1be053a524688813243d7362da36
Parents: ee1b035
Author: Michelle Phung <mi...@apache.org>
Authored: Fri Sep 11 18:44:39 2015 -0400
Committer: Michelle Phung <mi...@apache.org>
Committed: Thu Sep 17 08:16:47 2015 -0400

----------------------------------------------------------------------
 NOTICE | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/f0ac297c/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index 54c4091..ea5eb56 100644
--- a/NOTICE
+++ b/NOTICE
@@ -189,3 +189,7 @@ This product also includes the following third-party components:
 * CSS.escape (https://github.com/mathiasbynens/CSS.escape/)
 
   Copyright Mathias Bynens
+
+* Papaparse.js 
+
+  Copyright (c) 2015 Matthew Holt


[24/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Remove new CSRF mechanism


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/dda4a5f2
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/dda4a5f2
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/dda4a5f2

Branch: refs/heads/developer-preview-2.0
Commit: dda4a5f220fa5d3c705b784c9bb1f1dbe776d724
Parents: a84fcb2
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 10 12:26:29 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 10 14:00:46 2015 +0100

----------------------------------------------------------------------
 dev/run                       |  7 +---
 test/javascript/tests/csrf.js | 84 --------------------------------------
 2 files changed, 2 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/dda4a5f2/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index e519fa6..06c96be 100755
--- a/dev/run
+++ b/dev/run
@@ -30,7 +30,6 @@ import uuid
 from pbkdf2 import pbkdf2_hex
 
 COMMON_SALT = uuid.uuid4().hex
-COMMON_CSRF_SECRET = uuid.uuid4().hex
 
 try:
     from urllib import urlopen
@@ -259,11 +258,9 @@ def hack_local_ini(ctx, contents):
     previous_line = "; require_valid_user = false\n"
     contents = contents.replace(previous_line, previous_line + secret_line)
 
-    csrf_secret = '\n\n[csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
-
     if ctx['with_admin_party']:
         ctx['admin'] = ('Admin Party!', 'You do not need any password.')
-        return contents + csrf_secret
+        return contents
 
     # handle admin credentials passed from cli or generate own one
     if ctx['admin'] is None:
@@ -271,7 +268,7 @@ def hack_local_ini(ctx, contents):
     else:
         user, pswd = ctx['admin']
 
-    return contents + "\n%s = %s" % (user, hashify(pswd)) + csrf_secret
+    return contents + "\n%s = %s" % (user, hashify(pswd))
 
 
 def gen_password():

http://git-wip-us.apache.org/repos/asf/couchdb/blob/dda4a5f2/test/javascript/tests/csrf.js
----------------------------------------------------------------------
diff --git a/test/javascript/tests/csrf.js b/test/javascript/tests/csrf.js
deleted file mode 100644
index e16e78b..0000000
--- a/test/javascript/tests/csrf.js
+++ /dev/null
@@ -1,84 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-couchTests.csrf = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-
-  if (debug) debugger;
-
-  // Handy function to cause CouchDB to delete the CSRF cookie
-  var deleteCsrf = function() {
-    var xhr = CouchDB.request("POST", "/_session", {
-                              body: 'name=foo&password=bar',
-                              headers: {'X-CouchDB-CSRF': 'foo',
-                                        'Content-Type': 'application/x-www-form-urlencoded',
-                                        'Cookie': 'CouchDB-CSRF=foo'}});
-    TEquals(403, xhr.status);
-  };
-
-  var testFun = function () {
-  // Shouldn't receive header if we didn't ask for it
-  var xhr = CouchDB.request("GET", "/");
-  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Didn't ask for CSRF");
-  TEquals(200, xhr.status);
-
-  // Matching but invalid cookie/header should 403
-  xhr = CouchDB.request("POST", "/_session", {
-                        body: 'name=foo&password=bar',
-                        headers: {'X-CouchDB-CSRF': 'foo',
-                                  'Content-Type': 'application/x-www-form-urlencoded',
-                                  'Cookie': 'CouchDB-CSRF=foo'}});
-  TEquals(403, xhr.status);
-  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent invalid cookie and header");
-
-  // Can I acquire a CouchDB-CSRF cookie?
-  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'true'}});
-  var cookie = xhr.getResponseHeader("Set-Cookie").match('^CouchDB-CSRF=([^;]+)');
-  T(cookie, "Should receive cookie");
-
-  // If I have a cookie, do I get a 403 if I don't send the header?
-  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
-                                              headers: {'Content-Type':
-                                                        'application/x-www-form-urlencoded'}});
-  TEquals(403, xhr.status);
-  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We didn't send the header");
-
-  // If I have a cookie, do I get a 200 if I send a matching header?
-  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
-                                              headers: {"X-CouchDB-CSRF": cookie[1],
-                                                        'Content-Type': 'application/x-www-form-urlencoded'}});
-  TEquals(200, xhr.status);
-  TEquals("true", xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Server should have sent this");
-
-  // How about the wrong header?
-  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
-                                              headers: {'X-CouchDB-CSRF': 'foo',
-                                                        'Content-Type': 'application/x-www-form-urlencoded'}});
-  TEquals(403, xhr.status);
-  TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent a mismatched header");
-
-  deleteCsrf();
-  };
-
-  run_on_modified_server(
-    [
-     {section: "couch_httpd_auth",
-      key: "iterations", value: "1"},
-     {section: "admins",
-       key: "foo", value: "bar"}
-    ],
-    testFun
-  );
-
-};


[07/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Use POST requests to verify CSRF


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/68e83c23
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/68e83c23
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/68e83c23

Branch: refs/heads/developer-preview-2.0
Commit: 68e83c23b0ac24f7f3245894a3765a5649718880
Parents: b3c5367
Author: Robert Newson <rn...@apache.org>
Authored: Mon Aug 10 20:11:47 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Aug 10 20:11:47 2015 +0100

----------------------------------------------------------------------
 test/javascript/tests/csrf.js | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/68e83c23/test/javascript/tests/csrf.js
----------------------------------------------------------------------
diff --git a/test/javascript/tests/csrf.js b/test/javascript/tests/csrf.js
index 9baef82..9799d6f 100644
--- a/test/javascript/tests/csrf.js
+++ b/test/javascript/tests/csrf.js
@@ -11,12 +11,17 @@
 // the License.
 
 couchTests.csrf = function(debug) {
+  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
+  db.deleteDb();
+  db.createDb();
+
   if (debug) debugger;
 
   // Handy function to cause CouchDB to delete the CSRF cookie
   var deleteCsrf = function() {
-    var xhr = CouchDB.request("GET", "/",
-                              {headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+    var xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {
+                              body: '{"keys": []}',
+                              headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
     TEquals(403, xhr.status);
   };
 
@@ -26,7 +31,9 @@ couchTests.csrf = function(debug) {
   TEquals(200, xhr.status);
 
   // Matching but invalid cookie/header should 403
-  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {
+                        body: '{"keys": []}',
+                        headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent invalid cookie and header");
 
@@ -36,17 +43,19 @@ couchTests.csrf = function(debug) {
   T(cookie, "Should receive cookie");
 
   // If I have a cookie, do I get a 403 if I don't send the header?
-  xhr = CouchDB.request("GET", "/");
+  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}'});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We didn't send the header");
 
   // If I have a cookie, do I get a 200 if I send a matching header?
-  xhr = CouchDB.request("GET", "/", {headers: {"X-CouchDB-CSRF": cookie[1]}});
+  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}',
+                                                             headers: {"X-CouchDB-CSRF": cookie[1]}});
   TEquals(200, xhr.status);
   TEquals("true", xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Server should have sent this");
 
   // How about the wrong header?
-  xhr = CouchDB.request("GET", "/", {headers: {'X-CouchDB-CSRF': 'foo'}});
+  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}',
+                                                             headers: {'X-CouchDB-CSRF': 'foo'}});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent a mismatched header");
 


[04/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Setup dev cluster with common CSRF secret


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/cfcb0c03
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/cfcb0c03
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/cfcb0c03

Branch: refs/heads/developer-preview-2.0
Commit: cfcb0c034427635a7d0153a32ec3d99d1216d08e
Parents: 09b9a72
Author: Alexander Shorin <kx...@apache.org>
Authored: Mon Aug 3 21:12:23 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Wed Aug 5 16:29:43 2015 +0300

----------------------------------------------------------------------
 dev/run | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/cfcb0c03/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index 67334fe..ff952e0 100755
--- a/dev/run
+++ b/dev/run
@@ -30,6 +30,7 @@ import uuid
 from pbkdf2 import pbkdf2_hex
 
 COMMON_SALT = uuid.uuid4().hex
+COMMON_CSRF_SECRET = uuid.uuid4().hex
 
 try:
     from urllib import urlopen
@@ -218,9 +219,11 @@ def hack_local_ini(ctx, contents):
     previous_line = "; require_valid_user = false\n"
     contents = contents.replace(previous_line, previous_line + secret_line)
 
+    csrf_secret = '[couch_httpd_csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
+
     if ctx['with_admin_party']:
         ctx['admin'] = ('Admin Party!', 'You do not need any password.')
-        return contents
+        return contents + csrf_secret
 
     # handle admin credentials passed from cli or generate own one
     if ctx['admin'] is None:
@@ -228,7 +231,7 @@ def hack_local_ini(ctx, contents):
     else:
         user, pswd = ctx['admin']
 
-    return contents + "\n%s = %s" % (user, hashify(pswd))
+    return contents + "\n%s = %s" % (user, hashify(pswd)) + csrf_secret
 
 
 def gen_password():


[06/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
change couch_httpd_csrf section to csrf


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/b3c53672
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/b3c53672
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/b3c53672

Branch: refs/heads/developer-preview-2.0
Commit: b3c53672d1a8543b480dd46e6e6211ead1ed8619
Parents: 6286e88
Author: Robert Newson <rn...@apache.org>
Authored: Sat Aug 8 13:26:19 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Sat Aug 8 13:26:19 2015 +0100

----------------------------------------------------------------------
 dev/run | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/b3c53672/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index db0953c..74c51b0 100755
--- a/dev/run
+++ b/dev/run
@@ -219,7 +219,7 @@ def hack_local_ini(ctx, contents):
     previous_line = "; require_valid_user = false\n"
     contents = contents.replace(previous_line, previous_line + secret_line)
 
-    csrf_secret = '\n\n[couch_httpd_csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
+    csrf_secret = '\n\n[csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
 
     if ctx['with_admin_party']:
         ctx['admin'] = ('Admin Party!', 'You do not need any password.')


[28/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
fix make dist, #999f710 had broken it


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/52924ce4
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/52924ce4
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/52924ce4

Branch: refs/heads/developer-preview-2.0
Commit: 52924ce461c54c6b8406abde017aa0c426d7811c
Parents: 71af0bb
Author: Jan Lehnardt <ja...@apache.org>
Authored: Thu Sep 17 21:46:39 2015 +0200
Committer: Jan Lehnardt <ja...@apache.org>
Committed: Thu Sep 17 21:46:39 2015 +0200

----------------------------------------------------------------------
 build-aux/couchdb-build-release.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/52924ce4/build-aux/couchdb-build-release.sh
----------------------------------------------------------------------
diff --git a/build-aux/couchdb-build-release.sh b/build-aux/couchdb-build-release.sh
index 215c8d9..9d2141a 100755
--- a/build-aux/couchdb-build-release.sh
+++ b/build-aux/couchdb-build-release.sh
@@ -35,7 +35,7 @@ cd ..
 # actual version detection TBD
 perl -pi -e "s/\{vsn, git\}/\{vsn, \"$VERSION\"\}/" $RELDIR/src/*/src/*.app.src
 
-# create THANKS file
+# create CONTRIBUTORS file
 if test -e .git; then
     OS=`uname -s`
     case "$OS" in
@@ -47,11 +47,11 @@ if test -e .git; then
     ;;
     esac
 
-    sed -e "/^#.*/d" THANKS.in > $RELDIR/THANKS
+    sed -e "/^#.*/d" CONTRIBUTORS.in > $RELDIR/CONTRIBUTORS
     CONTRIB_EMAIL_SED_COMMAND="s/^[[:blank:]]{5}[[:digit:]]+[[:blank:]]/ * /"
     git shortlog -se 6c976bd..HEAD \
         | grep -v @apache.org \
-        | sed $SED_ERE_FLAG -e "$CONTRIB_EMAIL_SED_COMMAND" >> $RELDIR/THANKS
-    echo "" >> $RELDIR/THANKS # simplest portable newline
-    echo "For a list of authors see the \`AUTHORS\` file." >> $RELDIR/THANKS
+        | sed $SED_ERE_FLAG -e "$CONTRIB_EMAIL_SED_COMMAND" >> $RELDIR/CONTRIBUTORS
+    echo "" >> $RELDIR/CONTRIBUTORS # simplest portable newline
+    echo "For a list of authors see the \`AUTHORS\` file." >> $RELDIR/CONTRIBUTORS
 fi


[22/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
point to our mirror of mochi upstream now that https://github.com/mochi/mochiweb/pull/161 is merged


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/71fb2b8c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/71fb2b8c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/71fb2b8c

Branch: refs/heads/developer-preview-2.0
Commit: 71fb2b8c1cbc1af013cba35b459eece92e87467d
Parents: 315832d
Author: Robert Newson <rn...@apache.org>
Authored: Wed Sep 9 09:45:45 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Sep 9 09:45:45 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/71fb2b8c/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 38b2d2e..90ef0cd 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -45,7 +45,7 @@ DepDescs = [
     {khash,             "khash",            {branch, "master"}},
     {mango,             "mango",            {branch, "master"}},
     {mem3,              "mem3",             {branch, "master"}},
-    {mochiweb,          "mochiweb",         {branch, "master"}},
+    {mochiweb,          "mochiweb",         {branch, "upstream"}},
     {oauth,             "oauth",            {branch, "master"}},
     {rexi,              "rexi",             {branch, "master"}},
     {snappy,            "snappy",           {branch, "master"}},


[35/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add introspect script to compare what we currently point to versus the latest for all deps


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/75e54ea3
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/75e54ea3
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/75e54ea3

Branch: refs/heads/developer-preview-2.0
Commit: 75e54ea36006ecf2e0818a2f552985f0f5d40dec
Parents: a3bdfc6
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 24 16:36:42 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 24 16:36:42 2015 +0100

----------------------------------------------------------------------
 Makefile   |  5 ++++
 introspect | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/75e54ea3/Makefile
----------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index e3c98c6..a56ff32 100644
--- a/Makefile
+++ b/Makefile
@@ -185,3 +185,8 @@ ifeq ($(with_fauxton), 1)
 	@echo "Building Fauxton"
 	@cd src/fauxton && npm install && ./node_modules/grunt-cli/bin/grunt couchdb
 endif
+
+.PHONY: introspect
+introspect:
+	rebar -r update-deps
+	./introspect

http://git-wip-us.apache.org/repos/asf/couchdb/blob/75e54ea3/introspect
----------------------------------------------------------------------
diff --git a/introspect b/introspect
new file mode 100755
index 0000000..9b52745
--- /dev/null
+++ b/introspect
@@ -0,0 +1,73 @@
+#!/usr/bin/env escript
+%% -*- mode: erlang -*-
+
+main(_) ->
+    introspect("rebar.config.script").
+
+introspect(File) ->
+    Bindings = [{'SCRIPT', File}, {'CONFIG', []}],
+    {ok, Config} = file:script(File, Bindings),
+    {deps, Deps} = lists:keyfind(deps, 1, Config),
+    introspect_deps(Deps).
+
+introspect_deps([]) ->
+    ok;
+introspect_deps([Dep | Rest]) ->
+    introspect_dep(Dep),
+    introspect_deps(Rest).
+
+introspect_dep({App, VsnRegex, {git, Url, From}, _Raw}) ->
+    introspect_dep({App, VsnRegex, {git, Url, From}});
+introspect_dep({App, _VsnRegex, {git, _Url, From}}) ->
+    io:format(bold("~s~n"), [App]),
+    introspect_diff(App, From),
+    io:format("~n", []),
+    ok.
+
+revision({branch, Branch}) ->
+    Branch;
+revision({tag, Tag}) ->
+    Tag;
+revision(Rev) ->
+    Rev.
+
+introspect_diff(App, From) ->
+    introspect_diff(App, revision(From), "origin/master").
+
+introspect_diff(App, From, ToBranch) ->
+    {ok, Log} = sh(App, io_lib:format("git log --pretty=oneline ~s..~s", [From, ToBranch])),
+    case Log of
+        [] ->
+            io:format("  up to date on ~s~n", [bold(ToBranch)]);
+        _ ->
+            io:format("  ~B commits behind ~s~n", [length(Log), bold(ToBranch)]),
+            io:format("~s~n~n", [string:join(["    " ++ L || L <- Log], "\n")])
+    end.
+
+sh(App, Cmd) ->
+    Dir = lists:flatten(["src/", atom_to_list(App)]),
+    Port = open_port({spawn, lists:flatten(Cmd)},
+                     [{cd, Dir},
+                      {line, 16384},
+                      exit_status,
+                      stderr_to_stdout,
+                      use_stdio]),
+    read_port(Port).
+
+read_port(Port) ->
+    read_port(Port, []).
+
+read_port(Port, Acc) ->
+    receive
+        {Port, {data, {eol, Line}}} ->
+            read_port(Port, [Line | Acc]);
+        {Port, {data, {noeol, Line}}} ->
+            read_port(Port, [Line | Acc]);
+        {Port, {exit_status, 0}} ->
+            {ok, lists:reverse(Acc)};
+        {Port, {exit_status, Code}} ->
+            {error, Code, Acc}
+    end.
+
+bold(Text) ->
+    "\e[1m" ++ Text ++ "\e[0m".


[34/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
disable bin_opt_info


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a3bdfc62
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a3bdfc62
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a3bdfc62

Branch: refs/heads/developer-preview-2.0
Commit: a3bdfc62a5c11eafdab17207c81c0db8ec2c1106
Parents: 80f0780
Author: Robert Newson <rn...@apache.org>
Authored: Wed Sep 23 13:19:59 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Sep 23 17:20:53 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/a3bdfc62/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 73e5a1c..2b1219c 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -75,7 +75,7 @@ AddConfig = [
     {deps, lists:map(MakeDep, DepDescs)},
     {sub_dirs, ["rel"]},
     {lib_dirs, ["src/"]},
-    {erl_opts, [debug_info, bin_opt_info]},
+    {erl_opts, [debug_info]},
     {eunit_opts, [verbose]},
     {plugins, [eunit_plugin]},
     {post_hooks, [{compile, "escript support/build_js.escript"}]}


[17/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add couch_peruser


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/d56f2fc4
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/d56f2fc4
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/d56f2fc4

Branch: refs/heads/developer-preview-2.0
Commit: d56f2fc4f268c9e750741fa49bf5640cdf09fbdb
Parents: cbff75a
Author: Klaus Trainer <kl...@apache.org>
Authored: Mon Aug 10 22:22:52 2015 +0200
Committer: Klaus Trainer <kl...@apache.org>
Committed: Wed Aug 26 13:30:28 2015 +0200

----------------------------------------------------------------------
 rebar.config.script         |  1 +
 rel/overlay/etc/default.ini | 11 +++++++++++
 rel/overlay/etc/local.ini   | 10 ++++++++++
 rel/reltool.config          |  2 ++
 4 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/d56f2fc4/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 6b09c36..38b2d2e 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -30,6 +30,7 @@ DepDescs = [
     {couch_plugins,     "couch-plugins",    {branch, "master"}},
     {couch_event,       "couch-event",      {branch, "master"}},
     {couch_stats,       "couch-stats",      {branch, "master"}},
+    {couch_peruser,     "peruser",          {branch, "master"}},
     {docs,              "documentation",    {branch, "master"}, [raw]},
     {ddoc_cache,        "ddoc-cache",       {branch, "master"}},
     {ets_lru,           "ets-lru",          {branch, "master"}},

http://git-wip-us.apache.org/repos/asf/couchdb/blob/d56f2fc4/rel/overlay/etc/default.ini
----------------------------------------------------------------------
diff --git a/rel/overlay/etc/default.ini b/rel/overlay/etc/default.ini
index 7878981..8cda263 100644
--- a/rel/overlay/etc/default.ini
+++ b/rel/overlay/etc/default.ini
@@ -45,6 +45,16 @@ checkpoint_after = 5242880 ; checkpoint after every N bytes were written
 ; larger buffer sizes can originate smaller files
 keyvalue_buffer_size = 2097152 ; value in bytes
 
+[couch_peruser]
+; If enabled, couch_peruser 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 following form:
+; userdb-{hex encoded username}
+enable = false
+; If set to true and a user is deleted, the respective database gets
+; deleted as well.
+delete_dbs = false
+
 [httpd]
 port = {{backend_port}}
 bind_address = 127.0.0.1
@@ -157,6 +167,7 @@ uuids={couch_uuids, start, []}
 auth_cache={couch_auth_cache, start_link, []}
 os_daemons={couch_os_daemons, start_link, []}
 compaction_daemon={couch_compaction_daemon, start_link, []}
+couch_peruser={couch_peruser, start_link, []}
 
 [indexers]
 couch_mrview = true

http://git-wip-us.apache.org/repos/asf/couchdb/blob/d56f2fc4/rel/overlay/etc/local.ini
----------------------------------------------------------------------
diff --git a/rel/overlay/etc/local.ini b/rel/overlay/etc/local.ini
index 5877eb4..58baefd 100644
--- a/rel/overlay/etc/local.ini
+++ b/rel/overlay/etc/local.ini
@@ -7,6 +7,16 @@
 [couchdb]
 ;max_document_size = 4294967296 ; bytes
 
+[couch_peruser]
+; If enabled, couch_peruser 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 following form:
+; userdb-{hex encoded username}
+;enable = true
+; If set to true and a user is deleted, the respective database gets
+; deleted as well.
+;delete_dbs = true
+
 [httpd]
 ;port = 5984
 ;bind_address = 127.0.0.1

http://git-wip-us.apache.org/repos/asf/couchdb/blob/d56f2fc4/rel/reltool.config
----------------------------------------------------------------------
diff --git a/rel/reltool.config b/rel/reltool.config
index a52d037..7699f3e 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -41,6 +41,7 @@
         couch_replicator,
         couch_stats,
         couch_event,
+        couch_peruser,
         ddoc_cache,
         ets_lru,
         fabric,
@@ -97,6 +98,7 @@
     {app, couch_replicator, [{incl_cond, include}]},
     {app, couch_stats, [{incl_cond, include}]},
     {app, couch_event, [{incl_cond, include}]},
+    {app, couch_peruser, [{incl_cond, include}]},
     {app, ddoc_cache, [{incl_cond, include}]},
     {app, ets_lru, [{incl_cond, include}]},
     {app, fabric, [{incl_cond, include}]},


[33/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Fix bashism in configure script


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/80f0780f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/80f0780f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/80f0780f

Branch: refs/heads/developer-preview-2.0
Commit: 80f0780f3f06498185161fee4a11e8095630deae
Parents: 73b4eea
Author: Klaus Trainer <kl...@apache.org>
Authored: Wed Sep 23 16:26:49 2015 +0200
Committer: Klaus Trainer <kl...@apache.org>
Committed: Wed Sep 23 16:26:49 2015 +0200

----------------------------------------------------------------------
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/80f0780f/configure
----------------------------------------------------------------------
diff --git a/configure b/configure
index 65d7d33..fe6a6d3 100755
--- a/configure
+++ b/configure
@@ -649,7 +649,7 @@ cat > $rootdir/config.erl << EOF
 EOF
 
 
-function install_local_rebar(){
+install_local_rebar() {
   if [ ! -x "${rootdir}/bin/rebar" ]; then
       git clone --depth 1 --branch 2.6.0 https://git-wip-us.apache.org/repos/asf/couchdb-rebar.git ${rootdir}/src/rebar
       make -C ${rootdir}/src/rebar


[05/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Ensure couch_httpd_csrf section doesn't clash with any option


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/6286e880
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/6286e880
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/6286e880

Branch: refs/heads/developer-preview-2.0
Commit: 6286e880ef7a4c336cbe0e5b4b7a9f560c4ae7af
Parents: cfcb0c0
Author: Alexander Shorin <kx...@apache.org>
Authored: Fri Aug 7 13:42:18 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Fri Aug 7 13:42:18 2015 +0300

----------------------------------------------------------------------
 dev/run | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/6286e880/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index ff952e0..db0953c 100755
--- a/dev/run
+++ b/dev/run
@@ -219,7 +219,7 @@ def hack_local_ini(ctx, contents):
     previous_line = "; require_valid_user = false\n"
     contents = contents.replace(previous_line, previous_line + secret_line)
 
-    csrf_secret = '[couch_httpd_csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
+    csrf_secret = '\n\n[couch_httpd_csrf]\nsecret = %s\n' % COMMON_CSRF_SECRET
 
     if ctx['with_admin_party']:
         ctx['admin'] = ('Admin Party!', 'You do not need any password.')


[09/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Fix compatibility with Python 3.x


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/eb345133
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/eb345133
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/eb345133

Branch: refs/heads/developer-preview-2.0
Commit: eb3451332e549c2ec30a8f9121130e623d4f9a6c
Parents: 587646f
Author: Alexander Shorin <kx...@apache.org>
Authored: Mon Aug 17 16:17:02 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Mon Aug 17 16:17:02 2015 +0300

----------------------------------------------------------------------
 dev/run | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/eb345133/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index 81993b5..dc9785a 100755
--- a/dev/run
+++ b/dev/run
@@ -203,7 +203,7 @@ def find_haproxy():
     )
     (res, _) = p.communicate()
     if res.strip():
-        return res.strip()
+        return res.strip().decode()
     return "/usr/sbin/haproxy"
 
 


[39/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Validate incompatible query parameters: group and group_level

COUCHDB-2824


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/3ac3db68
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/3ac3db68
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/3ac3db68

Branch: refs/heads/developer-preview-2.0
Commit: 3ac3db6806cdf89114fe23290a7e13e4e7c35acd
Parents: b742d50
Author: Alexander Shorin <kx...@apache.org>
Authored: Fri Sep 25 21:48:54 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Fri Sep 25 21:48:54 2015 +0300

----------------------------------------------------------------------
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/3ac3db68/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index f02f433..63e15d3 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -26,7 +26,7 @@ DepDescs = [
 {couch,            "couch",            "9afa6a0979c37f4dfb72deb1c7d26aadd1aec694"},
 {couch_epi,        "couch-epi",        "aa72f6ffcc9c7095ed59b4d56f5f8139a5205a1f"},
 {couch_index,      "couch-index",      "6565cb961a8da21b21d213e4981133e119bb5ff1"},
-{couch_mrview,     "couch-mrview",     "52cc9c5f168ddc31f3e21f73799a34dd52b9c1e4"},
+{couch_mrview,     "couch-mrview",     "58a0de51233f55ee6cd92128cb19a3315984bff5"},
 {couch_replicator, "couch-replicator", "73139f0ebaee1b7bb49f926aebb0c3106c21ce74"},
 {couch_plugins,    "couch-plugins",    "3e73b723cb126cfc471b560d17c24a8b5c540085"},
 {couch_event,      "couch-event",      "835a41885d1e276d207758954f8238aa7bba0ae8"},


[08/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
boot haproxy in dev/run


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/587646f1
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/587646f1
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/587646f1

Branch: refs/heads/developer-preview-2.0
Commit: 587646f1fec6f665f70c97c24f3eef95780b409a
Parents: 68e83c2
Author: Robert Newson <rn...@apache.org>
Authored: Mon Aug 17 13:56:41 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Aug 17 13:56:41 2015 +0100

----------------------------------------------------------------------
 dev/run | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/587646f1/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index 74c51b0..81993b5 100755
--- a/dev/run
+++ b/dev/run
@@ -31,6 +31,7 @@ from pbkdf2 import pbkdf2_hex
 
 COMMON_SALT = uuid.uuid4().hex
 COMMON_CSRF_SECRET = uuid.uuid4().hex
+HAPROXY_PORT = os.environ.get("HAPROXY_PORT", "5984")
 
 try:
     from urllib import urlopen
@@ -193,6 +194,41 @@ def write_config(ctx, node, env):
             handle.write(content)
 
 
+def find_haproxy():
+    p = sp.Popen(
+        ["which", "haproxy"],
+        stdin=sp.PIPE,
+        stdout=sp.PIPE,
+        stderr=sp.STDOUT
+    )
+    (res, _) = p.communicate()
+    if res.strip():
+        return res.strip()
+    return "/usr/sbin/haproxy"
+
+
+def boot_haproxy(ctx):
+    config = os.path.join(ctx['rootdir'], "rel", "haproxy.cfg")
+    cmd = [
+        find_haproxy(),
+        "-f",
+        config
+    ]
+    logfname = os.path.join(ctx['devdir'], "logs", "haproxy.log")
+    log = open(logfname, "w")
+    env = os.environ.copy()
+    if "HAPROXY_PORT" not in env:
+        env["HAPROXY_PORT"] = HAPROXY_PORT
+    return sp.Popen(
+            " ".join(cmd),
+            shell=True,
+            stdin=sp.PIPE,
+            stdout=log,
+            stderr=sp.STDOUT,
+            env=env
+        )
+
+
 def hack_default_ini(ctx, node, content):
     # Replace log file
     logfile = os.path.join(ctx['devdir'], "logs", "%s.log" % node)
@@ -275,6 +311,7 @@ def kill_processes(ctx):
 def boot_nodes(ctx):
     for node in ctx['nodes']:
         ctx['procs'].append(boot_node(ctx, node))
+    ctx['procs'].append(boot_haproxy(ctx))
 
 
 def ensure_all_nodes_alive(ctx):


[32/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Always build and use own rebar

This solves issues with incompatible with systems that provides
old rebar versions.

Package maintainers still can override our rebar with system one
with --rebar command line option. By doing this, they obligates to
provide rebar of valid version.

Current version is pinned to 2.6.0 which is the minimal of
supported.


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/73b4eea0
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/73b4eea0
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/73b4eea0

Branch: refs/heads/developer-preview-2.0
Commit: 73b4eea0dd86efd597a853c8eb1bd689978f3c06
Parents: 0b300af
Author: Alexander Shorin <kx...@apache.org>
Authored: Fri Jul 24 08:12:37 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Wed Sep 23 17:07:51 2015 +0300

----------------------------------------------------------------------
 INSTALL.Unix.md |  6 +++---
 Makefile        | 11 ++++++-----
 README-DEV.md   |  6 +-----
 configure       | 35 ++++++++++++++++++++++++++++++++++-
 4 files changed, 44 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/73b4eea0/INSTALL.Unix.md
----------------------------------------------------------------------
diff --git a/INSTALL.Unix.md b/INSTALL.Unix.md
index 8b4b53d..aa38174 100644
--- a/INSTALL.Unix.md
+++ b/INSTALL.Unix.md
@@ -64,7 +64,7 @@ You can install the dependencies by running:
     sudo apt-get install build-essential erlang-base-hipe \
         erlang-dev erlang-manpages erlang-eunit erlang-nox \
         libicu-dev libmozjs185-dev libcurl4-openssl-dev \
-        pkg-config rebar
+        pkg-config
 
 There are lots of Erlang packages. If there is a problem with your
 install, try a different mix. There is more information on the
@@ -90,7 +90,7 @@ You can install the dependencies by running:
 
     sudo yum install autoconf autoconf-archive automake \
         curl-devel erlang-asn1 erlang-erts erlang-eunit \
-        erlang-os_mon erlang-xmerl erlang-rebar help2man \
+        erlang-os_mon erlang-xmerl help2man \
         js-devel libicu-devel libtool perl-Test-Harness
 
 While CouchDB builds against the default js-devel-1.7.0 included in
@@ -108,7 +108,7 @@ the Command Line Tools:
 You can then install the other dependencies by running:
 
     brew install autoconf autoconf-archive automake libtool \
-        erlang icu4c spidermonkey curl pkg-config rebar
+        erlang icu4c spidermonkey curl pkg-config
 
 You will need Homebrew installed to use the `brew` command.
 

http://git-wip-us.apache.org/repos/asf/couchdb/blob/73b4eea0/Makefile
----------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index cefdf80..e3c98c6 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,7 @@
 
 include version.mk
 
+REBAR?=$(shell echo `pwd`/bin/rebar)
 IN_RELEASE = $(shell if [ ! -d .git ]; then echo true; fi)
 COUCHDB_VERSION_SUFFIX = $(shell if [ -d .git ]; then echo '-`git rev-parse --short --verify HEAD`'; fi)
 COUCHDB_VERSION = $(vsn_major).$(vsn_minor).$(vsn_patch)$(COUCHDB_VERSION_SUFFIX)
@@ -27,11 +28,11 @@ config.erl:
 	@false
 
 couch: config.erl
-	@rebar compile
+	@${REBAR} compile
 	@cp src/couch/priv/couchjs bin/
 
 clean:
-	@rebar -r clean
+	@${REBAR} -r clean
 	@rm -f bin/couchjs
 	@rm -rf src/*/ebin
 	@rm -rf src/*/.rebar
@@ -83,7 +84,7 @@ devclean:
 install: all
 	@echo "Installing CouchDB into $(DESTDIR)/$(install_dir)..." | sed -e 's,///,/,'
 	@rm -rf rel/couchdb
-	@rebar generate # make full erlang release
+	@${REBAR} generate # make full erlang release
 
 	@mkdir -p $(DESTDIR)/$(install_dir)
 	@cp -R rel/couchdb/* $(DESTDIR)/$(install_dir)
@@ -155,8 +156,8 @@ docker-stop:
 
 eunit: export BUILDDIR = $(shell pwd)
 eunit: couch
-	@rebar setup_eunit
-	@rebar -r eunit skip_deps=meck,mochiweb,lager,snappy,folsom
+	@${REBAR} setup_eunit
+	@${REBAR} -r eunit skip_deps=meck,mochiweb,lager,snappy,folsom
 
 javascript: all
 	# TODO: Fix tests to look for these files in their new path

http://git-wip-us.apache.org/repos/asf/couchdb/blob/73b4eea0/README-DEV.md
----------------------------------------------------------------------
diff --git a/README-DEV.md b/README-DEV.md
index 997e3db..81cfc4a 100644
--- a/README-DEV.md
+++ b/README-DEV.md
@@ -12,11 +12,7 @@ If you're unsure what this means, ignore this document.
 Dependencies
 ------------
 
-You will need the following installed:
-
- * Rebar (>=2.5.0)        (https://github.com/rebar/rebar)
-
-You may also need:
+You may need:
 
  * Sphinx                 (http://sphinx.pocoo.org/)
  * LaTex                  (http://www.latex-project.org/)

http://git-wip-us.apache.org/repos/asf/couchdb/blob/73b4eea0/configure
----------------------------------------------------------------------
diff --git a/configure b/configure
index 5256a41..65d7d33 100755
--- a/configure
+++ b/configure
@@ -66,6 +66,7 @@ Options:
   --disable-fauxton           do not build Fauxton
   --disable-docs              do not build any documentation or manpages
   --skip-deps                 do not update erlang dependencies
+  --rebar=PATH                use rebar by specified path (version >=2.6.0 && <3.0 required)
 
 
   Installation directories:
@@ -128,6 +129,22 @@ parse_opts() {
                 continue
                 ;;
 
+            --rebar)
+                if [ -x "$2" ]; then
+                    version=`$2 --version 2> /dev/null | grep -o "2\.[6-9]\.[0-9]"`
+                    if [ $? -ne 0 ]; then
+                        printf 'Rebar >=2.6.0 and <3.0.0 required' >&2
+                        exit 1
+                    fi
+                    eval REBAR=$2
+                    shift 2
+                    continue
+                else
+                    printf 'ERROR: "--rebar" requires valid path to executable.\n' >&2
+                    exit 1
+                fi
+                ;;
+
             --user|-u)
                 if [ -n "$2" ]; then
                     eval COUCHDB_USER=$2
@@ -632,8 +649,24 @@ cat > $rootdir/config.erl << EOF
 EOF
 
 
+function install_local_rebar(){
+  if [ ! -x "${rootdir}/bin/rebar" ]; then
+      git clone --depth 1 --branch 2.6.0 https://git-wip-us.apache.org/repos/asf/couchdb-rebar.git ${rootdir}/src/rebar
+      make -C ${rootdir}/src/rebar
+      mv ${rootdir}/src/rebar/rebar ${rootdir}/bin/rebar
+      make -C ${rootdir}/src/rebar clean
+  fi
+}
+
+
+if [ -z "${REBAR}" ]; then
+    install_local_rebar
+    REBAR=${rootdir}/bin/rebar
+fi
+
+
 # only update dependencies, when we are not in a release tarball
 if [ -d .git  -a $SKIP_DEPS -ne 1 ]; then
   echo "==> updating dependencies"
-  rebar get-deps update-deps
+  ${REBAR} get-deps update-deps
 fi


[13/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Expose /_system handler


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/0fdc54f8
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/0fdc54f8
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/0fdc54f8

Branch: refs/heads/developer-preview-2.0
Commit: 0fdc54f89f25cabdab39af38236c344fca21cb6f
Parents: 6b31324
Author: Alexander Shorin <kx...@apache.org>
Authored: Fri Aug 21 13:09:22 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Fri Aug 21 13:09:22 2015 +0300

----------------------------------------------------------------------
 rel/overlay/etc/default.ini | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/0fdc54f8/rel/overlay/etc/default.ini
----------------------------------------------------------------------
diff --git a/rel/overlay/etc/default.ini b/rel/overlay/etc/default.ini
index 9e18a32..7878981 100644
--- a/rel/overlay/etc/default.ini
+++ b/rel/overlay/etc/default.ini
@@ -176,6 +176,7 @@ _stats = {couch_stats_httpd, handle_stats_req}
 _session = {couch_httpd_auth, handle_session_req}
 _oauth = {couch_httpd_oauth, handle_oauth_req}
 _plugins = {couch_plugins_httpd, handle_req}
+_system = {chttpd_misc, handle_system_req}
 
 [httpd_db_handlers]
 _all_docs = {couch_mrview_http, handle_all_docs_req}


[19/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Windows fixes


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/bac70398
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/bac70398
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/bac70398

Branch: refs/heads/developer-preview-2.0
Commit: bac7039899fb8dee72ab183896fc6391e1c394b4
Parents: 999f710
Author: Joan Touzet <wo...@apache.org>
Authored: Sat Aug 29 19:38:38 2015 -0400
Committer: Joan Touzet <wo...@apache.org>
Committed: Sat Aug 29 19:39:13 2015 -0400

----------------------------------------------------------------------
 dev/run | 43 +++++++++++++++++++++++++------------------
 1 file changed, 25 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/bac70398/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index dc9785a..e519fa6 100755
--- a/dev/run
+++ b/dev/run
@@ -31,7 +31,6 @@ from pbkdf2 import pbkdf2_hex
 
 COMMON_SALT = uuid.uuid4().hex
 COMMON_CSRF_SECRET = uuid.uuid4().hex
-HAPROXY_PORT = os.environ.get("HAPROXY_PORT", "5984")
 
 try:
     from urllib import urlopen
@@ -111,6 +110,12 @@ def setup_argparse():
                       dest='no_join', default=False,
                       action='store_true',
                       help='Do not join nodes on boot')
+    parser.add_option('--with-haproxy', dest='with_haproxy', default=False,
+                      action='store_true', help='Use HAProxy')
+    parser.add_option('--haproxy', dest='haproxy', default='haproxy',
+                      help='HAProxy executable path')
+    parser.add_option('--haproxy-port', dest='haproxy_port', default='5984',
+                      help='HAProxy port')
     return parser.parse_args()
 
 
@@ -125,6 +130,9 @@ def setup_context(opts, args):
             'rootdir': os.path.dirname(os.path.dirname(fpath)),
             'cmd': ' '.join(args),
             'verbose': opts.verbose,
+            'with_haproxy': opts.with_haproxy,
+            'haproxy': opts.haproxy,
+            'haproxy_port': opts.haproxy_port,
             'procs': []}
 
 
@@ -163,6 +171,10 @@ def setup_configs(ctx):
             "backend_port": backend_port,
             "fauxton_root": "src/fauxton/dist/release"
         }
+        if os.name == 'nt':
+            # Erlang always wants UNIX-style paths
+            env["data_dir"] = env["data_dir"].replace("\\", "/")
+            env["view_index_dir"] = env["view_index_dir"].replace("\\", "/")
         write_config(ctx, node, env)
 
 
@@ -194,23 +206,12 @@ def write_config(ctx, node, env):
             handle.write(content)
 
 
-def find_haproxy():
-    p = sp.Popen(
-        ["which", "haproxy"],
-        stdin=sp.PIPE,
-        stdout=sp.PIPE,
-        stderr=sp.STDOUT
-    )
-    (res, _) = p.communicate()
-    if res.strip():
-        return res.strip().decode()
-    return "/usr/sbin/haproxy"
-
-
 def boot_haproxy(ctx):
+    if not ctx['with_haproxy']:
+        return
     config = os.path.join(ctx['rootdir'], "rel", "haproxy.cfg")
     cmd = [
-        find_haproxy(),
+        ctx['haproxy'],
         "-f",
         config
     ]
@@ -218,7 +219,7 @@ def boot_haproxy(ctx):
     log = open(logfname, "w")
     env = os.environ.copy()
     if "HAPROXY_PORT" not in env:
-        env["HAPROXY_PORT"] = HAPROXY_PORT
+        env["HAPROXY_PORT"] = ctx['haproxy_port']
     return sp.Popen(
             " ".join(cmd),
             shell=True,
@@ -232,6 +233,9 @@ def boot_haproxy(ctx):
 def hack_default_ini(ctx, node, content):
     # Replace log file
     logfile = os.path.join(ctx['devdir'], "logs", "%s.log" % node)
+    if os.name == 'nt':
+        # Erlang always wants UNIX-style paths
+        logfile = logfile.replace("\\", "/")
     repl = "file = %s" % logfile
     contents = re.sub("(?m)^file.*$", repl, content)
 
@@ -304,7 +308,7 @@ def startup(ctx):
 
 def kill_processes(ctx):
     for proc in ctx['procs']:
-        if proc.returncode is None:
+        if proc and proc.returncode is None:
             proc.kill()
 
 
@@ -376,6 +380,9 @@ def boot_node(ctx, node):
     ]
     logfname = os.path.join(ctx['devdir'], "logs", "%s.log" % node)
     log = open(logfname, "wb")
+    if os.name == 'nt':
+        # Erlang always wants UNIX-style paths
+        cmd = [x.replace("\\", "/") for x in cmd]
     return sp.Popen(cmd, stdin=sp.PIPE, stdout=log, stderr=sp.STDOUT, env=env)
 
 
@@ -488,7 +495,7 @@ def create_system_databases(host, port):
 def join(ctx, lead_port, user, password):
     while True:
         for proc in ctx['procs']:
-            if proc.returncode is not None:
+            if proc is not None and proc.returncode is not None:
                 exit(1)
         time.sleep(2)
 


[25/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
set chttpd bind_address to 127.0.0.1 by default


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/ee1b035c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/ee1b035c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/ee1b035c

Branch: refs/heads/developer-preview-2.0
Commit: ee1b035c35ad4a6246a7332f735ac89824919af4
Parents: dda4a5f
Author: Robert Newson <rn...@apache.org>
Authored: Tue Sep 15 20:32:28 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Tue Sep 15 20:32:28 2015 +0100

----------------------------------------------------------------------
 rel/overlay/etc/default.ini | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/ee1b035c/rel/overlay/etc/default.ini
----------------------------------------------------------------------
diff --git a/rel/overlay/etc/default.ini b/rel/overlay/etc/default.ini
index 8cda263..454bc71 100644
--- a/rel/overlay/etc/default.ini
+++ b/rel/overlay/etc/default.ini
@@ -32,6 +32,7 @@ n=3
 
 [chttpd]
 port = {{cluster_port}}
+bind_address = 127.0.0.1
 backlog = 512
 docroot = {{fauxton_root}}
 socket_options = [{recbuf, 262144}, {sndbuf, 262144}, {nodelay, true}]


[30/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Make rebar recognize list in configure


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/c43229b3
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/c43229b3
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/c43229b3

Branch: refs/heads/developer-preview-2.0
Commit: c43229b3c11ba23a040d2967f8c6ad0ea641664a
Parents: 23b5d2f
Author: Robert Newson <rn...@apache.org>
Authored: Mon Sep 21 11:04:28 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Sep 21 11:04:28 2015 +0100

----------------------------------------------------------------------
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/c43229b3/configure
----------------------------------------------------------------------
diff --git a/configure b/configure
index 04ba2cb..5256a41 100755
--- a/configure
+++ b/configure
@@ -628,7 +628,7 @@ EOF
 cat > $rootdir/config.erl << EOF
 {with_curl, $WITH_CURL}.
 {couch_log_backend, couch_log_lager}.
-{couch_log_backend_apps, [couch_log_lager]}.
+{couch_log_backend_apps, {list, [couch_log_lager]}}.
 EOF
 
 


[16/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
enable binary optimization warnings


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/cbff75a5
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/cbff75a5
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/cbff75a5

Branch: refs/heads/developer-preview-2.0
Commit: cbff75a519dec72cb643728045652900d4bf5e9c
Parents: 7035b2c
Author: Robert Newson <rn...@apache.org>
Authored: Tue Aug 25 13:30:40 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Tue Aug 25 13:30:56 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/cbff75a5/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index bd8d2b8..6b09c36 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -73,7 +73,7 @@ AddConfig = [
     {deps, lists:map(MakeDep, DepDescs)},
     {sub_dirs, ["rel"]},
     {lib_dirs, ["src/"]},
-    {erl_opts, [debug_info]},
+    {erl_opts, [debug_info, bin_opt_info]},
     {eunit_opts, [verbose]},
     {plugins, [eunit_plugin]},
     {post_hooks, [{compile, "escript support/build_js.escript"}]}


[20/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add name to committer list


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/93cc067f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/93cc067f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/93cc067f

Branch: refs/heads/developer-preview-2.0
Commit: 93cc067ffcc30f6f4da108bc37db0e40da19fd1c
Parents: bac7039
Author: klaemo <kl...@apache.org>
Authored: Sun Aug 30 17:06:48 2015 +0200
Committer: klaemo <kl...@apache.org>
Committed: Sun Aug 30 17:07:32 2015 +0200

----------------------------------------------------------------------
 COMMITTERS.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/93cc067f/COMMITTERS.md
----------------------------------------------------------------------
diff --git a/COMMITTERS.md b/COMMITTERS.md
index 6caf83c..2e99e66 100644
--- a/COMMITTERS.md
+++ b/COMMITTERS.md
@@ -47,5 +47,6 @@ mean this in the sense of being loyal to the project and its interests.
  * Ben Keen <be...@apache.org>
  * Maria Andersson <mi...@apache.org>
  * Michelle Phung <mi...@apache.org>
+ * Clemens Stolle <kl...@apache.org>
 
 For a list of other credits see the `THANKS` file.


[31/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add `--node-number` to /dev/run options

This gives the option of specificing the seed number when generating the
node name and the port for that node.

e.g.
 /dev/run --node-number 5
- node5@127.0.0.1 on port 55894


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/0b300af1
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/0b300af1
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/0b300af1

Branch: refs/heads/developer-preview-2.0
Commit: 0b300af1614cc75c11f35af44c9acc19bcc7effa
Parents: c43229b
Author: Garren Smith <ga...@gmail.com>
Authored: Tue Sep 22 16:04:50 2015 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Tue Sep 22 16:08:30 2015 +0200

----------------------------------------------------------------------
 dev/run | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/0b300af1/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index 06c96be..2cb1fd7 100755
--- a/dev/run
+++ b/dev/run
@@ -115,6 +115,8 @@ def setup_argparse():
                       help='HAProxy executable path')
     parser.add_option('--haproxy-port', dest='haproxy_port', default='5984',
                       help='HAProxy port')
+    parser.add_option('--node-number', dest="node_number", type=int, default=1,
+                      help='The node number to seed them when creating the node(s)')
     return parser.parse_args()
 
 
@@ -124,7 +126,8 @@ def setup_context(opts, args):
             'no_join': opts.no_join,
             'with_admin_party': opts.with_admin_party,
             'admin': opts.admin.split(':', 1) if opts.admin else None,
-            'nodes': ['node%d' % (i + 1) for i in range(opts.nodes)],
+            'nodes': ['node%d' % (i + opts.node_number) for i in range(opts.nodes)],
+            'node_number': opts.node_number,
             'devdir': os.path.dirname(fpath),
             'rootdir': os.path.dirname(os.path.dirname(fpath)),
             'cmd': ' '.join(args),
@@ -157,7 +160,7 @@ def check_beams(ctx):
 @log('Prepare configuration files')
 def setup_configs(ctx):
     for idx, node in enumerate(ctx['nodes']):
-        cluster_port, backend_port = get_ports(idx + 1)
+        cluster_port, backend_port = get_ports(idx + ctx['node_number'])
         env = {
             "prefix": ctx['rootdir'],
             "package_author_name": "The Apache Software Foundation",
@@ -321,7 +324,7 @@ def ensure_all_nodes_alive(ctx):
         for num in range(ctx['N']):
             if status[num]:
                 continue
-            local_port, _ = get_ports(num + 1)
+            local_port, _ = get_ports(num + ctx['node_number'])
             url = "http://127.0.0.1:{0}/".format(local_port)
             try:
                 check_node_alive(url)


[02/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
add erlang 18.0


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/0c579b98
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/0c579b98
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/0c579b98

Branch: refs/heads/developer-preview-2.0
Commit: 0c579b983473f2c9c2427f8745d741e740271ed9
Parents: 5784e3c
Author: Robert Newson <rn...@apache.org>
Authored: Wed Jul 22 09:00:38 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Jul 22 09:00:38 2015 +0100

----------------------------------------------------------------------
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/0c579b98/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index ccce961..dc018a3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,6 +13,7 @@ script:
    - grunt test
 language: erlang
 otp_release:
+   - 18.0
    - 17.5
    - 17.4
    - 17.1


[11/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Add name to committer list


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/72f72b29
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/72f72b29
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/72f72b29

Branch: refs/heads/developer-preview-2.0
Commit: 72f72b290006bc7dfbea1f4516b05013583f20e9
Parents: a8ff569
Author: Michelle Phung <mi...@apache.org>
Authored: Thu Aug 20 12:27:06 2015 -0400
Committer: Michelle Phung <mi...@apache.org>
Committed: Thu Aug 20 13:38:33 2015 -0400

----------------------------------------------------------------------
 COMMITTERS.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/72f72b29/COMMITTERS.md
----------------------------------------------------------------------
diff --git a/COMMITTERS.md b/COMMITTERS.md
index 6030e5b..db5cada 100644
--- a/COMMITTERS.md
+++ b/COMMITTERS.md
@@ -46,5 +46,6 @@ mean this in the sense of being loyal to the project and its interests.
  * Benjamin Bastian <bb...@apache.org>
  * Ben Keen <be...@apache.org>
  * Maria Andersson <mi...@apache.org>
+ * Michelle Phung <mi...@apache.org>
 
 For a list of other credits see the `THANKS` file.


[29/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Configure couch_log for lager by default


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/23b5d2f5
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/23b5d2f5
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/23b5d2f5

Branch: refs/heads/developer-preview-2.0
Commit: 23b5d2f5cdc344d7139453363579956e91f250e8
Parents: 52924ce
Author: Robert Newson <rn...@apache.org>
Authored: Fri Sep 18 14:49:42 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Fri Sep 18 16:07:19 2015 +0100

----------------------------------------------------------------------
 configure           | 2 ++
 rebar.config.script | 1 +
 rel/reltool.config  | 2 ++
 3 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/23b5d2f5/configure
----------------------------------------------------------------------
diff --git a/configure b/configure
index 1c2c30d..04ba2cb 100755
--- a/configure
+++ b/configure
@@ -627,6 +627,8 @@ EOF
 
 cat > $rootdir/config.erl << EOF
 {with_curl, $WITH_CURL}.
+{couch_log_backend, couch_log_lager}.
+{couch_log_backend_apps, [couch_log_lager]}.
 EOF
 
 

http://git-wip-us.apache.org/repos/asf/couchdb/blob/23b5d2f5/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 90ef0cd..73e5a1c 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -20,6 +20,7 @@ DepDescs = [
     {b64url,            "b64url",           {branch, "master"}},
     {cassim,            "cassim",           {branch, "master"}},
     {couch_log,         "couch-log",        {branch, "master"}},
+    {couch_log_lager,   "couch-log-lager",  {branch, "master"}},
     {config,            "config",           {branch, "master"}},
     {chttpd,            "chttpd",           {branch, "master"}},
     {couch,             "couch",            {branch, "master"}},

http://git-wip-us.apache.org/repos/asf/couchdb/blob/23b5d2f5/rel/reltool.config
----------------------------------------------------------------------
diff --git a/rel/reltool.config b/rel/reltool.config
index 7699f3e..8659e41 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -36,6 +36,7 @@
         couch_epi,
         couch_index,
         couch_log,
+        couch_log_lager,
         couch_mrview,
         couch_plugins,
         couch_replicator,
@@ -93,6 +94,7 @@
     {app, couch_epi, [{incl_cond, include}]},
     {app, couch_index, [{incl_cond, include}]},
     {app, couch_log, [{incl_cond, include}]},
+    {app, couch_log_lager, [{incl_cond, include}]},
     {app, couch_mrview, [{incl_cond, include}]},
     {app, couch_plugins, [{incl_cond, include}]},
     {app, couch_replicator, [{incl_cond, include}]},


[21/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Adapt csrf test to hit form data endpoint

COUCHDB-2797


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/315832d4
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/315832d4
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/315832d4

Branch: refs/heads/developer-preview-2.0
Commit: 315832d4dbc402347e4154eaf17b20587bbb6ea0
Parents: 93cc067
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 3 22:06:58 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 3 22:06:58 2015 +0100

----------------------------------------------------------------------
 test/javascript/tests/csrf.js | 43 ++++++++++++++++++++++++++++----------
 1 file changed, 32 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/315832d4/test/javascript/tests/csrf.js
----------------------------------------------------------------------
diff --git a/test/javascript/tests/csrf.js b/test/javascript/tests/csrf.js
index 9799d6f..e16e78b 100644
--- a/test/javascript/tests/csrf.js
+++ b/test/javascript/tests/csrf.js
@@ -19,21 +19,26 @@ couchTests.csrf = function(debug) {
 
   // Handy function to cause CouchDB to delete the CSRF cookie
   var deleteCsrf = function() {
-    var xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {
-                              body: '{"keys": []}',
-                              headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+    var xhr = CouchDB.request("POST", "/_session", {
+                              body: 'name=foo&password=bar',
+                              headers: {'X-CouchDB-CSRF': 'foo',
+                                        'Content-Type': 'application/x-www-form-urlencoded',
+                                        'Cookie': 'CouchDB-CSRF=foo'}});
     TEquals(403, xhr.status);
   };
 
+  var testFun = function () {
   // Shouldn't receive header if we didn't ask for it
   var xhr = CouchDB.request("GET", "/");
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Didn't ask for CSRF");
   TEquals(200, xhr.status);
 
   // Matching but invalid cookie/header should 403
-  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {
-                        body: '{"keys": []}',
-                        headers: {'X-CouchDB-CSRF': 'foo', 'Cookie': 'CouchDB-CSRF=foo'}});
+  xhr = CouchDB.request("POST", "/_session", {
+                        body: 'name=foo&password=bar',
+                        headers: {'X-CouchDB-CSRF': 'foo',
+                                  'Content-Type': 'application/x-www-form-urlencoded',
+                                  'Cookie': 'CouchDB-CSRF=foo'}});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent invalid cookie and header");
 
@@ -43,21 +48,37 @@ couchTests.csrf = function(debug) {
   T(cookie, "Should receive cookie");
 
   // If I have a cookie, do I get a 403 if I don't send the header?
-  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}'});
+  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
+                                              headers: {'Content-Type':
+                                                        'application/x-www-form-urlencoded'}});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We didn't send the header");
 
   // If I have a cookie, do I get a 200 if I send a matching header?
-  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}',
-                                                             headers: {"X-CouchDB-CSRF": cookie[1]}});
+  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
+                                              headers: {"X-CouchDB-CSRF": cookie[1],
+                                                        'Content-Type': 'application/x-www-form-urlencoded'}});
   TEquals(200, xhr.status);
   TEquals("true", xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "Server should have sent this");
 
   // How about the wrong header?
-  xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: '{"keys": []}',
-                                                             headers: {'X-CouchDB-CSRF': 'foo'}});
+  xhr = CouchDB.request("POST", "/_session", {body: 'name=foo&password=bar',
+                                              headers: {'X-CouchDB-CSRF': 'foo',
+                                                        'Content-Type': 'application/x-www-form-urlencoded'}});
   TEquals(403, xhr.status);
   TEquals(null, xhr.getResponseHeader("X-CouchDB-CSRF-Valid"), "We sent a mismatched header");
 
   deleteCsrf();
+  };
+
+  run_on_modified_server(
+    [
+     {section: "couch_httpd_auth",
+      key: "iterations", value: "1"},
+     {section: "admins",
+       key: "foo", value: "bar"}
+    ],
+    testFun
+  );
+
 };


[15/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
Remove R16B02 support

It has multiple issues with SSL/TLS and scheduler.


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/7035b2cb
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/7035b2cb
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/7035b2cb

Branch: refs/heads/developer-preview-2.0
Commit: 7035b2cbb9cdc6f04300434b8e160a29b724ee54
Parents: a692f16
Author: Alexander Shorin <kx...@apache.org>
Authored: Mon Aug 24 10:49:43 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Mon Aug 24 10:52:35 2015 +0300

----------------------------------------------------------------------
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/7035b2cb/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index 374425c..bd8d2b8 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -68,7 +68,7 @@ MakeDep = fun
 end,
 
 AddConfig = [
-    {require_otp_vsn, "R14B01|R14B03|R14B04|R16B02|R16B03-1|17|18"},
+    {require_otp_vsn, "R14B01|R14B03|R14B04|R16B03-1|17|18"},
     {deps_dir, "src"},
     {deps, lists:map(MakeDep, DepDescs)},
     {sub_dirs, ["rel"]},


[37/39] couchdb commit: updated refs/heads/developer-preview-2.0 to 3ac3db6

Posted by kx...@apache.org.
oops


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/7992a78f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/7992a78f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/7992a78f

Branch: refs/heads/developer-preview-2.0
Commit: 7992a78f48fe452ba4cbe8b68209ab3aa23fb587
Parents: 1264c9c
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 24 18:37:36 2015 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 24 18:40:37 2015 +0100

----------------------------------------------------------------------
 rebar.config.script | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/7992a78f/rebar.config.script
----------------------------------------------------------------------
diff --git a/rebar.config.script b/rebar.config.script
index d5e9e28..25b26db 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -31,8 +31,8 @@ DepDescs = [
 {couch_plugins,    "couch-plugins",    "2b2933edddf936e2300db09ced2d96a4a10a269d"},
 {couch_event,      "couch-event",      "835a41885d1e276d207758954f8238aa7bba0ae8"},
 {couch_stats,      "couch-stats",      "7895d4d3f509ed24f09b6d1a0bd0e06af34551dc"},
-{couch_peruser,    "couch-peruser",    "ff7d190970a46722137fbc7a1a75466e8a544ae1"},
-{docs,             "docs",             "57a65effe92685f54aa21e2512b5f6590ed08dc0", [raw]},
+{couch_peruser,    "peruser",          "ff7d190970a46722137fbc7a1a75466e8a544ae1"},
+{docs,             "documentation",    "57a65effe92685f54aa21e2512b5f6590ed08dc0", [raw]},
 {ddoc_cache,       "ddoc-cache",       "c762e90a33ce3cda19ef142dd1120f1087ecd876"},
 {ets_lru,          "ets-lru",          "09128046ae9fbabfe1d70cb406aca878f6ea1dd5"},
 {fabric,           "fabric",           "17f0377807804b7b55db6c6b378d9e266ea52236"},