From: Pritha Srivastava Date: Tue, 23 Feb 2021 15:19:08 +0000 (+0530) Subject: rgw/sts: fix for encoding/decoding user namespace X-Git-Tag: v16.2.0~48^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F40257%2Fhead;p=ceph.git rgw/sts: fix for encoding/decoding user namespace in RGWUserInfo, to fetch the user details correctly for OIDC users which are created in 'oidc' namespace. Fixes: https://tracker.ceph.com/issues/49444 Signed-off-by: Pritha Srivastava (cherry picked from commit dce12afea2cd4126542d876cde96e28f45cd610c) --- diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 4a96a8649276..2593bcfcc39d 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -707,7 +707,7 @@ struct RGWUserInfo } void encode(bufferlist& bl) const { - ENCODE_START(21, 9, bl); + ENCODE_START(22, 9, bl); encode((uint64_t)0, bl); // old auid string access_key; string secret_key; @@ -750,10 +750,11 @@ struct RGWUserInfo encode(type, bl); encode(mfa_ids, bl); encode(assumed_role_arn, bl); + encode(user_id.ns, bl); ENCODE_FINISH(bl); } void decode(bufferlist::const_iterator& bl) { - DECODE_START_LEGACY_COMPAT_LEN_32(21, 9, 9, bl); + DECODE_START_LEGACY_COMPAT_LEN_32(22, 9, 9, bl); if (struct_v >= 2) { uint64_t old_auid; decode(old_auid, bl); @@ -834,6 +835,11 @@ struct RGWUserInfo if (struct_v >= 21) { decode(assumed_role_arn, bl); } + if (struct_v >= 22) { + decode(user_id.ns, bl); + } else { + user_id.ns.clear(); + } DECODE_FINISH(bl); } void dump(Formatter *f) const;