Updated Branches:
  refs/heads/master 0216618cb -> 98d08909a

Validate type of iterations and derived_key if scheme is pbkdf2


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

Branch: refs/heads/master
Commit: 98d08909a24194ef96c49179e326cc1baac71634
Parents: 0216618
Author: Robert Newson <[email protected]>
Authored: Fri Nov 22 22:53:22 2013 +0000
Committer: Robert Newson <[email protected]>
Committed: Fri Nov 22 22:53:22 2013 +0000

----------------------------------------------------------------------
 src/couchdb/couch_js_functions.hrl | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/98d08909/src/couchdb/couch_js_functions.hrl
----------------------------------------------------------------------
diff --git a/src/couchdb/couch_js_functions.hrl 
b/src/couchdb/couch_js_functions.hrl
index 774b724..a48feae 100644
--- a/src/couchdb/couch_js_functions.hrl
+++ b/src/couchdb/couch_js_functions.hrl
@@ -64,6 +64,15 @@
             });
         }
 
+        if (newDoc.password_scheme === \"pbkdf2\") {
+            if (typeof(newDoc.iterations) !== \"number\") {
+               throw({forbidden: \"iterations must be a number.\"});
+            }
+            if (typeof(newDoc.derived_key) !== \"string\") {
+               throw({forbidden: \"derived_key must be a string.\"});
+            }
+        }
+
         var is_server_or_database_admin = function(userCtx, secObj) {
             // see if the user is a server admin
             if(userCtx.roles.indexOf('_admin') !== -1) {

Reply via email to