summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2018-10-24 11:13:29 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2019-01-18 13:03:28 -0600
commit7bbe8286e3720247e7bea71c7780432d62bdcb60 (patch)
treee8a511efdadd27f9dc4b0bdef3935f88a47071ab
parent72eb1292708648b03a13222c5ac964821d7036a8 (diff)
downloadcouchdb-7bbe8286e3720247e7bea71c7780432d62bdcb60.tar.gz
Validate design document options more strictly
This adds specific datatype requirements to the list of allowable design document options. Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>
-rw-r--r--src/couch_mrview/src/couch_mrview.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/couch_mrview/src/couch_mrview.erl b/src/couch_mrview/src/couch_mrview.erl
index d5b01ed7c..391acf412 100644
--- a/src/couch_mrview/src/couch_mrview.erl
+++ b/src/couch_mrview/src/couch_mrview.erl
@@ -57,6 +57,8 @@ validate_ddoc_fields(DDoc) ->
[{<<"language">>, string}],
[{<<"lists">>, object}, {any, [object, string]}],
[{<<"options">>, object}],
+ [{<<"options">>, object}, {<<"include_design">>, boolean}],
+ [{<<"options">>, object}, {<<"local_seq">>, boolean}],
[{<<"rewrites">>, [string, array]}],
[{<<"shows">>, object}, {any, [object, string]}],
[{<<"updates">>, object}, {any, [object, string]}],
@@ -133,6 +135,8 @@ validate_ddoc_field(Value, array) when is_list(Value) ->
ok;
validate_ddoc_field({Value}, object) when is_list(Value) ->
ok;
+validate_ddoc_field(Value, boolean) when is_boolean(Value) ->
+ ok;
validate_ddoc_field({Props}, {any, Type}) ->
validate_ddoc_field1(Props, Type);
validate_ddoc_field({Props}, {Key, Type}) ->