]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/sts: fix for encoding/decoding user namespace 39656/head
authorPritha Srivastava <prsrivas@redhat.com>
Tue, 23 Feb 2021 15:19:08 +0000 (20:49 +0530)
committerPritha Srivastava <prsrivas@redhat.com>
Wed, 24 Feb 2021 06:18:05 +0000 (11:48 +0530)
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 <prsrivas@redhat.com>
src/rgw/rgw_common.h

index 3631273075de58bd1f814b1df3414b100791eef8..4863ce0fa089d73108e311dfc6fa4938422d3ade 100644 (file)
@@ -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;