@@ -773,7 +773,7 @@ ACLOwner rgw::auth::RemoteApplier::get_aclowner() const
773773 owner.id = account->id ;
774774 owner.display_name = account->name ;
775775 } else {
776- owner.id = info. acct_user ;
776+ owner.id = owner_acct_user ;
777777 owner.display_name = info.acct_name ;
778778 }
779779 return owner;
@@ -848,7 +848,7 @@ bool rgw::auth::RemoteApplier::is_identity(const Principal& p) const {
848848
849849void rgw::auth::RemoteApplier::to_str (std::ostream& out) const
850850{
851- out << " rgw::auth::RemoteApplier(acct_user=" << info. acct_user
851+ out << " rgw::auth::RemoteApplier(acct_user=" << owner_acct_user
852852 << " , acct_name=" << info.acct_name
853853 << " , perm_mask=" << info.perm_mask
854854 << " , is_admin=" << info.is_admin << " )" ;
@@ -898,15 +898,15 @@ void rgw::auth::RemoteApplier::create_account(const DoutPrefixProvider* dpp,
898898 bool implicit_tenant,
899899 RGWUserInfo& user_info) const /* out */
900900{
901- rgw_user new_acct_user = acct_user;
901+ owner_acct_user = acct_user;
902902
903903 /* An upper layer may enforce creating new accounts within their own
904904 * tenants. */
905- if (new_acct_user .tenant .empty () && implicit_tenant) {
906- new_acct_user .tenant = new_acct_user .id ;
905+ if (owner_acct_user .tenant .empty () && implicit_tenant) {
906+ owner_acct_user .tenant = owner_acct_user .id ;
907907 }
908908
909- std::unique_ptr<rgw::sal::User> user = driver->get_user (new_acct_user );
909+ std::unique_ptr<rgw::sal::User> user = driver->get_user (owner_acct_user );
910910 user->get_info ().display_name = info.acct_name ;
911911 if (info.acct_type ) {
912912 // ldap/keystone for s3 users
@@ -967,7 +967,7 @@ void rgw::auth::RemoteApplier::load_acct_info(const DoutPrefixProvider* dpp, RGW
967967 if (split_mode && !implicit_tenant)
968968 ; /* suppress lookup for id used by "other" protocol */
969969 else if (acct_user.tenant .empty ()) {
970- const rgw_user tenanted_uid (acct_user.id , acct_user.id );
970+ rgw_user tenanted_uid (acct_user.id , acct_user.id );
971971 user = driver->get_user (tenanted_uid);
972972
973973 if (user->load_user (dpp, null_yield) >= 0 ) {
@@ -976,6 +976,7 @@ void rgw::auth::RemoteApplier::load_acct_info(const DoutPrefixProvider* dpp, RGW
976976 user->get_attrs (), account, policies);
977977
978978 user_info = std::move (user->get_info ());
979+ owner_acct_user = std::move (tenanted_uid);
979980 return ;
980981 }
981982 }
@@ -990,6 +991,7 @@ void rgw::auth::RemoteApplier::load_acct_info(const DoutPrefixProvider* dpp, RGW
990991 user->get_attrs (), account, policies);
991992
992993 user_info = std::move (user->get_info ());
994+ owner_acct_user = acct_user;
993995 return ;
994996 }
995997
0 commit comments