From: Yehuda Sadeh Date: Tue, 6 Sep 2011 21:37:30 +0000 (-0700) Subject: rgw: set perm_mask for swift operations X-Git-Tag: v0.35~98 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=77153d9fd2403db23110139a143dfcf8e95db289;p=ceph.git rgw: set perm_mask for swift operations --- diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index abb644efeacc..c1db8fa59c6f 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -263,7 +263,10 @@ bool verify_permission(RGWAccessControlPolicy *policy, string& uid, int user_per if (!policy) return false; - int acl_perm = policy->get_perm(g_ceph_context, uid, perm) & user_perm_mask; + int policy_perm = policy->get_perm(g_ceph_context, uid, perm); + int acl_perm = policy_perm & user_perm_mask; + + RGW_LOG(10) << " uid=" << uid << " requested perm (type)=" << perm << ", policy perm=" << policy_perm << ", user_perm_mask=" << user_perm_mask << ", acl perm=" << acl_perm << dendl; return (perm == acl_perm); } diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index 62e0ec43117e..694e47fff95c 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -303,5 +303,7 @@ int RGWHandler_REST_SWIFT::authorize() if (!authorized) return -EPERM; + s->perm_mask = RGW_PERM_FULL_CONTROL; + return 0; }