const DoutPrefix dp(store->ctx(), dout_subsys, "librgw: ");
std::unique_ptr<rgw::sal::User> user = store->get_user(uid);
/* object exists, but policy is broken */
- int ret = user->load_by_id(&dp, null_yield);
+ int ret = user->load_user(&dp, null_yield);
if (ret < 0) {
derr << "ERROR: failed reading user info: uid=" << uid << " ret="
<< ret << dendl;
grant.set_canon(user->get_id(), user->get_display_name(), rgw_perm);
} else if (strcasecmp(id_type.c_str(), "id") == 0) {
std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(id_val));
- ret = user->load_by_id(dpp, null_yield);
+ ret = user->load_user(dpp, null_yield);
if (ret < 0)
return ret;
}
std::unique_ptr<rgw::sal::User> user = store->get_user(owner->get_id());
- if (user->load_by_id(dpp, null_yield) < 0) {
+ if (user->load_user(dpp, null_yield) < 0) {
ldout(cct, 10) << "owner info does not exist" << dendl;
err_msg = "Invalid id";
return -EINVAL;
if (grant_user.user_id.empty()) {
user = store->get_user(uid);
- if (user->load_by_id(dpp, null_yield) < 0) {
+ if (user->load_user(dpp, null_yield) < 0) {
ldout(cct, 10) << "grant user does not exist:" << uid << dendl;
err_msg = "Invalid id";
return -EINVAL;
std::unique_ptr<rgw::sal::User> user;
user = store->get_user(rgw_user(uid));
- if (user->load_by_id(dpp, null_yield) < 0) {
+ if (user->load_user(dpp, null_yield) < 0) {
ldout(cct, 10) << "grant user does not exist: " << uid << dendl;
/* skipping silently */
grant.set_canon(user->get_id(), std::string(), perm);
} else {
std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(uid));
- if (user->load_by_id(dpp, null_yield) < 0) {
+ if (user->load_user(dpp, null_yield) < 0) {
ldout(cct, 10) << "grant user does not exist:" << uid << dendl;
/* skipping silently */
grant.set_canon(user->get_id(), std::string(), perm);
rgw_apply_default_bucket_quota(user->get_info().bucket_quota, cct->_conf);
rgw_apply_default_user_quota(user->get_info().user_quota, cct->_conf);
- int ret = user->store_info(dpp, null_yield, true);
+ int ret = user->store_user(dpp, null_yield, true);
if (ret < 0) {
ldpp_dout(dpp, 0) << "ERROR: failed to store new user info: user="
<< user << " ret=" << ret << dendl;
std::unique_ptr<rgw::sal::User> user = store->get_user(federated_user);
//Check in oidc namespace
- if (user->load_by_id(dpp, null_yield) >= 0) {
+ if (user->load_user(dpp, null_yield) >= 0) {
/* Succeeded. */
user_info = user->get_info();
return;
user->clear_ns();
//Check for old users which wouldn't have been created in oidc namespace
- if (user->load_by_id(dpp, null_yield) >= 0) {
+ if (user->load_user(dpp, null_yield) >= 0) {
/* Succeeded. */
user_info = user->get_info();
return;
rgw_apply_default_user_quota(user->get_info().user_quota, cct->_conf);
user_info = user->get_info();
- int ret = user->store_info(dpp, null_yield, true);
+ int ret = user->store_user(dpp, null_yield, true);
if (ret < 0) {
ldpp_dout(dpp, 0) << "ERROR: failed to store new user info: user="
<< user << " ret=" << ret << dendl;
const rgw_user tenanted_uid(acct_user.id, acct_user.id);
user = store->get_user(tenanted_uid);
- if (user->load_by_id(dpp, null_yield) >= 0) {
+ if (user->load_user(dpp, null_yield) >= 0) {
/* Succeeded. */
user_info = user->get_info();
return;
if (split_mode && implicit_tenant)
; /* suppress lookup for id used by "other" protocol */
- else if (user->load_by_id(dpp, null_yield) >= 0) {
+ else if (user->load_user(dpp, null_yield) >= 0) {
/* Succeeded. */
user_info = user->get_info();
return;
const rgw_user tenanted_uid(acct_user_override.id, acct_user_override.id);
user = store->get_user(tenanted_uid);
- if (user->load_by_id(dpp, null_yield) >= 0) {
+ if (user->load_user(dpp, null_yield) >= 0) {
user_info = user->get_info();
/* Succeeded. */
return;
}
user = store->get_user(acct_user_override);
- const int ret = user->load_by_id(dpp, null_yield);
+ const int ret = user->load_user(dpp, null_yield);
if (ret < 0) {
/* We aren't trying to recover from ENOENT here. It's supposed that creating
* someone else's account isn't a thing we want to support in this filter. */
* reasons. rgw_get_user_info_by_uid doesn't trigger the operator=() but
* calls ::decode instead. */
std::unique_ptr<rgw::sal::User> user = store->get_user(effective_uid);
- if (user->load_by_id(dpp, null_yield) < 0) {
+ if (user->load_user(dpp, null_yield) < 0) {
//ldpp_dout(dpp, 0) << "User lookup failed!" << dendl;
throw -EACCES;
}
op_state.set_bucket(bucket->clone());
if (!rgw::sal::User::empty(user.get())) {
- r = user->load_by_id(dpp, y);
+ r = user->load_user(dpp, y);
if (r < 0) {
set_err_msg(err_msg, "failed to fetch user info");
return r;
}
if (token.valid() && (ldh->auth(token.id, token.key) == 0)) {
/* try to store user if it doesn't already exist */
- if (user->load_by_id(dpp, null_yield) < 0) {
- int ret = user->store_info(dpp, null_yield, true);
+ if (user->load_user(dpp, null_yield) < 0) {
+ int ret = user->store_user(dpp, null_yield, true);
if (ret < 0) {
lsubdout(get_context(), rgw, 10)
<< "NOTICE: failed to store new user's info: ret=" << ret
rgw_user uid(uid_str);
std::unique_ptr<rgw::sal::User> user = env.store->get_user(uid);
- int ret = user->load_by_id(this, null_yield);
+ int ret = user->load_user(this, null_yield);
if (ret < 0) {
derr << "ERROR: failed reading user info: uid=" << uid << " ret="
<< ret << dendl;
ldpp_dout(dpp, 0) << "WARNING: couldn't find acl header for bucket, generating default" << dendl;
std::unique_ptr<rgw::sal::User> user = store->get_user(bucket_info.owner);
/* object exists, but policy is broken */
- int r = user->load_by_id(dpp, y);
+ int r = user->load_user(dpp, y);
if (r < 0)
return r;
/* object exists, but policy is broken */
ldpp_dout(dpp, 0) << "WARNING: couldn't find acl header for object, generating default" << dendl;
std::unique_ptr<rgw::sal::User> user = store->get_user(bucket_info.owner);
- ret = user->load_by_id(dpp, y);
+ ret = user->load_user(dpp, y);
if (ret < 0)
return ret;
if (s->user->get_id() == s->bucket_owner.get_id()) {
user = s->user.get();
} else {
- int r = owner_user->load_by_id(this, s->yield);
+ int r = owner_user->load_user(this, s->yield);
if (r < 0)
return r;
user = owner_user.get();
void RGWPutMetadataAccount::execute(optional_yield y)
{
/* Params have been extracted earlier. See init_processing(). */
- op_ret = s->user->load_by_id(this, y);
+ op_ret = s->user->load_user(this, y);
if (op_ret < 0) {
return;
}
/* We are passing here the current (old) user info to allow the function
* optimize-out some operations. */
s->user->set_attrs(attrs);
- op_ret = s->user->store_info(this, y, false, &s->user->get_info());
+ op_ret = s->user->store_user(this, y, false, &s->user->get_info());
}
int RGWPutMetadataBucket::verify_permission(optional_yield y)
user = store->get_user(token.user);
if (! token.user.empty() && token.acct_type != TYPE_ROLE) {
// get user info
- int ret = user->load_by_id(dpp, y);
+ int ret = user->load_user(dpp, y);
if (ret < 0) {
ldpp_dout(dpp, 5) << "ERROR: failed reading user info: uid=" << token.user << dendl;
return result_t::reject(-EPERM);
const rgw_user tenanted_uid(uid.id, uid.id);
user = store->get_user(tenanted_uid);
- if (user->load_by_id(s, s->yield) >= 0) {
+ if (user->load_user(s, s->yield) >= 0) {
/* Succeeded. */
found = true;
}
if (!found) {
user = store->get_user(uid);
- if (user->load_by_id(s, s->yield) < 0) {
+ if (user->load_user(s, s->yield) < 0) {
throw -EPERM;
}
}
<< dendl;
user = store->get_user(bucket->get_info().owner);
- if (user->load_by_id(s, s->yield) < 0) {
+ if (user->load_user(s, s->yield) < 0) {
throw -EPERM;
}
std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(user_name));
- op_ret = user->load_by_id(s, s->yield);
+ op_ret = user->load_user(s, s->yield);
if (op_ret < 0) {
op_ret = -ERR_NO_SUCH_ENTITY;
return;
encode(policies, in_bl);
user->get_attrs()[RGW_ATTR_USER_POLICY] = in_bl;
- op_ret = user->store_info(s, s->yield, false);
+ op_ret = user->store_user(s, s->yield, false);
if (op_ret < 0) {
op_ret = -ERR_INTERNAL_ERROR;
}
}
std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(user_name));
- op_ret = user->load_by_id(s, s->yield);
+ op_ret = user->load_user(s, s->yield);
if (op_ret < 0) {
op_ret = -ERR_NO_SUCH_ENTITY;
return;
encode(policies, in_bl);
user->get_attrs()[RGW_ATTR_USER_POLICY] = in_bl;
- op_ret = user->store_info(s, s->yield, false);
+ op_ret = user->store_user(s, s->yield, false);
if (op_ret < 0) {
op_ret = -ERR_INTERNAL_ERROR;
}
virtual Attrs& get_attrs() { return attrs; }
virtual void set_attrs(Attrs& _attrs) { attrs = _attrs; }
- /* Placeholders */
- virtual int load_by_id(const DoutPrefixProvider* dpp, optional_yield y) = 0;
- virtual int store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) = 0;
- virtual int remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params = {}) = 0;
+ virtual int load_user(const DoutPrefixProvider* dpp, optional_yield y) = 0;
+ virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) = 0;
+ virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) = 0;
/* dang temporary; will be removed when User is complete */
RGWUserInfo& get_info() { return info; }
} else {
ldout(store->ctx(), 0) << "WARNING: couldn't find acl header for bucket, generating default" << dendl;
/* object exists, but policy is broken */
- int r = user.load_by_id(dpp, y);
+ int r = user.load_user(dpp, y);
if (r < 0)
return r;
return store->getRados()->trim_usage(get_id(), bucket_name, start_epoch, end_epoch);
}
-int RadosUser::load_by_id(const DoutPrefixProvider* dpp, optional_yield y)
+int RadosUser::load_user(const DoutPrefixProvider* dpp, optional_yield y)
{
return store->ctl()->user->get_info_by_uid(dpp, info.user_id, &info, y, RGWUserCtl::GetParams().set_objv_tracker(&objv_tracker));
}
-int RadosUser::store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info)
+int RadosUser::store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info)
{
return store->ctl()->user->store_info(dpp, info, y,
RGWUserCtl::PutParams().set_objv_tracker(&objv_tracker)
.set_old_info(old_info));
}
-int RadosUser::remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params)
+int RadosUser::remove_user(const DoutPrefixProvider* dpp, optional_yield y)
{
- return store->ctl()->user->remove_info(dpp, info, y, params);
+ return store->ctl()->user->remove_info(dpp, info, y,
+ RGWUserCtl::RemoveParams().set_objv_tracker(&objv_tracker));
}
/* Placeholder */
map<rgw_user_bucket, rgw_usage_log_entry>& usage) override;
virtual int trim_usage(uint64_t start_epoch, uint64_t end_epoch) override;
- /* Placeholders */
- virtual int load_by_id(const DoutPrefixProvider* dpp, optional_yield y) override;
- virtual int store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) override;
- virtual int remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params = {}) override;
+ virtual int load_user(const DoutPrefixProvider* dpp, optional_yield y) override;
+ virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) override;
+ virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) override;
friend class RadosBucket;
};
{
int ret = 0;
std::unique_ptr<rgw::sal::User> user = store->get_user(user_id);
- if ((ret = user->load_by_id(dpp, y)) < 0) {
+ if ((ret = user->load_user(dpp, y)) < 0) {
return -ERR_NO_SUCH_ENTITY;
}
user->get_info().assumed_role_arn = arn;
- ret = user->store_info(dpp, y, false, &user->get_info());
+ ret = user->store_user(dpp, y, false, &user->get_info());
if (ret < 0) {
return -ERR_INTERNAL_ERROR;
}
if (uid.tenant.empty()) {
rgw_user tenanted_uid(uid.id, uid.id);
user = store->get_user(tenanted_uid);
- if (user->load_by_id(dpp, s->yield) >= 0) {
+ if (user->load_user(dpp, s->yield) >= 0) {
/* Succeeded */
found = true;
}
if (!found) {
user = store->get_user(uid);
- if (user->load_by_id(dpp, s->yield) < 0) {
+ if (user->load_user(dpp, s->yield) < 0) {
throw -EPERM;
}
}
std::unique_ptr<rgw::sal::User> user;
user = store->get_user(bucket->get_info().owner);
- if (user->load_by_id(dpp, s->yield) < 0) {
+ if (user->load_user(dpp, s->yield) < 0) {
throw -EPERM;
}
if (!user_id.empty() && (user_id.compare(RGW_USER_ANON_ID) != 0)) {
user = store->get_user(user_id);
- found = (user->load_by_id(dpp, y) >= 0);
+ found = (user->load_user(dpp, y) >= 0);
op_state.found_by_uid = found;
}
if (store->ctx()->_conf.get_val<bool>("rgw_user_unique_email")) {
RGWUserInfo *pold_info = (is_populated() ? &old_info : nullptr);
- ret = user->store_info(dpp, y, false, pold_info);
+ ret = user->store_user(dpp, y, false, pold_info);
op_state.objv = user->get_version_tracker();
if (ret < 0) {
set_err_msg(err_msg, "unable to store user info");
const bool exclusive = !op_state.get_overwrite_new_user(); // overwrite if requested
- ret = user->store_info(dpp, y, exclusive);
+ ret = user->store_user(dpp, y, exclusive);
if (ret == -EEXIST) {
set_err_msg(err_msg, "user name given by --new-uid already exists");
return ret;
} while (buckets.is_truncated());
- ret = user->remove_info(dpp, y, RGWUserCtl::RemoveParams().set_objv_tracker(&op_state.objv));
+ ret = user->remove_user(dpp, y);
if (ret < 0) {
set_err_msg(err_msg, "unable to remove user from RADOS");
return ret;
return 0;
}
- virtual int load_by_id(const DoutPrefixProvider *dpp, optional_yield y) override {
+ virtual int load_user(const DoutPrefixProvider *dpp, optional_yield y) override {
return 0;
}
- virtual int store_info(const DoutPrefixProvider *dpp, optional_yield y, const RGWUserCtl::PutParams& params) override {
+ virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info) override {
return 0;
}
- virtual int remove_info(const DoutPrefixProvider *dpp, optional_yield y, const RGWUserCtl::RemoveParams& params) override {
+ virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) override {
return 0;
}