Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 977 invoked from network); 18 Jun 2010 15:59:08 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 18 Jun 2010 15:59:08 -0000 Received: (qmail 51999 invoked by uid 500); 18 Jun 2010 15:59:06 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 51900 invoked by uid 500); 18 Jun 2010 15:59:06 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 51892 invoked by uid 99); 18 Jun 2010 15:59:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jun 2010 15:59:05 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jochenkempf@gmail.com designates 74.125.82.52 as permitted sender) Received: from [74.125.82.52] (HELO mail-ww0-f52.google.com) (74.125.82.52) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jun 2010 15:58:59 +0000 Received: by wwb28 with SMTP id 28so1324711wwb.11 for ; Fri, 18 Jun 2010 08:58:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:from:date :message-id:subject:to:content-type; bh=90WeT3bSimHMUlZi0CV6n0NYR3R9Iy01oGgnjO99qw4=; b=DdQ4iq/tOsu7KvhkVZ8W7/RrUi0fl44183oHLPx/UjBFjBwXOwk2DRhYlZRoNV2gp3 MaIx+kZlArmqxRjRswa6AnsRpkuIeppRqeV+4zGFu8NWOKEDPzDOZ5PJZnZb2xQvRS7S HaapVbXA+RFd2BLWR1Rigv+53qjrodnsaic6s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=Z28wA2QyCbdmKMpL8fBCx1f23c1hWVUUJxKubOxpJKKrFeqMUw+x0kNpEhAMW6MQgx Z2CVmXrrP1iTHW/Uoi66vZ4cOwwIWp6YLWt7uIGUI1Hm9EqzuxTdCGZHTY+bQE3M2hox xRhOu+ZhCMco+pyzgq/Fz4qq8FrcuXl3UEImo= Received: by 10.216.88.144 with SMTP id a16mr958037wef.77.1276876717801; Fri, 18 Jun 2010 08:58:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.45.5 with HTTP; Fri, 18 Jun 2010 08:58:10 -0700 (PDT) From: Jochen Kempf Date: Fri, 18 Jun 2010 11:58:10 -0400 Message-ID: Subject: Problems creating admin users To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=0016e6d77e672fc87004895007a1 X-Virus-Checked: Checked by ClamAV on apache.org --0016e6d77e672fc87004895007a1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, using couchdb 0.11.0 on Ubuntu 10.04 I get the following error message when trying to add a new admin user v=EDa Futon: Signup error: {gen_server,call, [couch_query_servers, {get_proc,{doc,<<"_design/_auth">>, {1, [<<4,216,98,51,179,37,75,181,165,61,207,113,3, 249,127,194>>]}, {[{<<"language">>,<<"javascript">>}, {<<"validate_doc_update">>, <<"function(newDoc, oldDoc, userCtx) {\n if ((oldDoc || newDoc).type !=3D 'user') {\n throw({forbidden : 'doc.type must be user'});\n } // we only validate user docs for now\n if (newDoc._deleted =3D=3D=3D true) {\n // all= ow deletes by admins and matching users \n // without checking the other fields\n if ((userCtx.roles.indexOf('_admin') !=3D -1) || (userCtx.name =3D= =3D oldDoc.name)) {\n return;\n } else {\n throw({forbidden : 'Only admins may delete other user docs.'});\n }\n }\n if (!newDoc.name) {\n throw({forbidde= n : 'doc.name is required'});\n }\n if (!(newDoc.roles && (typeof newDoc.roles.length !=3D 'undefined') )) {\n throw({forbidden : 'doc.roles must be an array'});\n }\n if (newDoc._id !=3D 'org.couchdb.user:'+newDoc.name) {\n throw({forbidden : 'Docid must be of the form org.couchdb.user:name'});\n }\n if (oldDoc) { // validate all updates\n if (oldDoc.name !=3D newDoc.name) {\n throw({forbidden : 'Usernam= es may not be changed.'});\n }\n }\n if (newDoc.password_sha && !newDoc.salt) {\n throw({forbidden : 'Users with password_sha must have a salt. See /_utils/script/couch.js for example code.'});\n }\n if (userCtx.roles.indexOf('_admin') =3D=3D -1) { // not an admin\n if (oldDoc)= { // validate non-admin updates\n if (userCtx.name !=3D newDoc.name) {\n throw({forbidden : 'You may only update your own user document.'});\n }\n /= / validate role updates\n var oldRoles =3D oldDoc.roles.sort();\n var newRole= s =3D newDoc.roles.sort();\n if (oldRoles.length !=3D newRoles.length) {\n throw({forbidden : 'Only _admin may edit roles'});\n }\n for (var i=3D0; i = < oldRoles.length; i++) {\n if (oldRoles[i] !=3D newRoles[i]) {\n throw({forbidden : 'Only _admin may edit roles'});\n }\n };\n } else if (newDoc.roles.length > 0) {\n throw({forbidden : 'Only _admin may set roles'});\n }\n }\n // no system roles in users db\n for (var i=3D0; i < newDoc.roles.length; i++) {\n if (newDoc.roles[i][0] =3D=3D '_') {\n throw({forbidden : 'No system roles (starting with underscore) in users db.'});\n }\n };\n // no system names as names\n if (newDoc.name[0] =3D=3D = '_') {\n throw({forbidden : 'Username may not start with underscore.'});\n }\n }">>}]}, [],false,[]}, {<<"_design/_auth">>, <<"1-04d86233b3254bb5a53dcf7103f97fc2">>}}]} However I can login v=EDa Futon using the previously entered credentials bu= t there is no corresponding user file added to the "_users" table. It seems that the "_auth" validation function prevents me from adding a new user to the "_users" table. How can I fix this? --0016e6d77e672fc87004895007a1--