You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/08/01 11:05:01 UTC
[8/9] git commit: Don't fallback to using fabric:set_security
Don't fallback to using fabric:set_security
The return values from cassim:set_security are different than those in
fabric:set_security. This removes the fallback clause to simplify the
logic and moves the is_enabled check out into chttpd.
BugzId: 32070
Project: http://git-wip-us.apache.org/repos/asf/couchdb-cassim/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-cassim/commit/8f1812d2
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-cassim/tree/8f1812d2
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-cassim/diff/8f1812d2
Branch: refs/heads/windsor-merge
Commit: 8f1812d20da351fc6f7abe58b5a6726db0c2e679
Parents: 80a17b0
Author: Russell Branca <ch...@apache.org>
Authored: Thu Jul 3 13:16:03 2014 -0700
Committer: Robert Newson <rn...@apache.org>
Committed: Wed Jul 30 18:18:33 2014 +0100
----------------------------------------------------------------------
src/cassim_security.erl | 33 ++++++++++++++-------------------
1 file changed, 14 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-cassim/blob/8f1812d2/src/cassim_security.erl
----------------------------------------------------------------------
diff --git a/src/cassim_security.erl b/src/cassim_security.erl
index 250ce9d..0622b8c 100644
--- a/src/cassim_security.erl
+++ b/src/cassim_security.erl
@@ -75,25 +75,20 @@ set_security(DbName, SecProps) ->
set_security(DbName, SecProps, [?ADMIN_CTX]).
-set_security(#db{name=DbName0}=Db, #doc{body=SecProps}=SecDoc0, Options) ->
- case cassim_metadata_cache:metadata_db_exists() of
- true ->
- DbName = mem3:dbname(DbName0),
- MetaId = cassim_metadata_cache:security_meta_id(DbName),
- SecDoc = SecDoc0#doc{id=MetaId},
- UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
- MetaDbName = cassim_metadata_cache:metadata_db(),
- MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
- cassim:verify_admin_role(UserCtx),
- ok = validate_security_doc(SecDoc),
- {Status, Etag, {Body0}} =
- chttpd_db:update_doc(MetaDb, MetaId, SecDoc, Options),
- Body = {proplists:delete(<<"_id">>, Body0)},
- ok = cassim_metadata_cache:cleanup_old_docs(MetaId),
- {Status, Etag, Body};
- false ->
- fabric:set_security(Db, SecProps, Options)
- end.
+set_security(#db{name=DbName0}, #doc{}=SecDoc0, Options) ->
+ DbName = mem3:dbname(DbName0),
+ MetaId = cassim_metadata_cache:security_meta_id(DbName),
+ SecDoc = SecDoc0#doc{id=MetaId},
+ UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
+ MetaDbName = cassim_metadata_cache:metadata_db(),
+ MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
+ cassim:verify_admin_role(UserCtx),
+ ok = validate_security_doc(SecDoc),
+ {Status, Etag, {Body0}} =
+ chttpd_db:update_doc(MetaDb, MetaId, SecDoc, Options),
+ Body = {proplists:delete(<<"_id">>, Body0)},
+ ok = cassim_metadata_cache:cleanup_old_docs(MetaId),
+ {Status, Etag, Body}.
migrate_security_props(DbName0, {SecProps}) ->