From 3b938873cc1de440d6e4152331081889d8e25ead Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Tue, 11 Apr 2023 10:37:11 +0300 Subject: [PATCH 1/4] Revert "Revert "[#16] object: Allow set `copy_number` for every placement vector"" This reverts commit 4a34188c9ef4b7404e1abaac5f72d1c302d322e7. --- object/grpc/service.go | 2 +- object/grpc/service.pb.go | Bin 131213 -> 131703 bytes object/marshal.go | 6 ++++-- object/test/generate.go | 2 +- object/types.go | 8 ++++---- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/object/grpc/service.go b/object/grpc/service.go index 44b5f4a..74dc168 100644 --- a/object/grpc/service.go +++ b/object/grpc/service.go @@ -109,7 +109,7 @@ func (m *PutRequest_Body_Init) SetHeader(v *Header) { } // SetCopiesNumber sets number of the copies to save. -func (m *PutRequest_Body_Init) SetCopiesNumber(v uint32) { +func (m *PutRequest_Body_Init) SetCopiesNumber(v []uint32) { m.CopiesNumber = v } diff --git a/object/grpc/service.pb.go b/object/grpc/service.pb.go index 207b0b0880ec9cd55b1c363caaa87136db46bc35..6ba4090c66ebffd0a385d126d9d652ad2a8dcbba 100644 GIT binary patch delta 604 zcmZXRF)u_x6os=A!78aFk{g|5V_BW8M5UlXB@(mq?%SR9-psf&Z)G(bqE)^Buo@DH zLgOz8{)9r*wCOY z6rOj43o-&yrBy1Dp-4fYO~g39B|M~=>v?eA5VF9KtxJ?Q+wA0_k)9d@~k1a-6LTd=javkROf$5d1_@(XeUPdEHb1q`pyiE=;D^Z%sL zP7M;^uwz3hMjX#ZsD3;22m1$^(tfoDhn9>tjVxYU=!pFAYNAYND^|!OjPBZ3&GE7Q ggZ$;Xo{XtQdK>3mY+}TmS&}t|hzx diff --git a/object/marshal.go b/object/marshal.go index b918e69..7a89b97 100644 --- a/object/marshal.go +++ b/object/marshal.go @@ -516,7 +516,7 @@ func (r *PutObjectPartInit) StableMarshal(buf []byte) []byte { offset += proto.NestedStructureMarshal(putReqInitObjectIDField, buf[offset:], r.id) offset += proto.NestedStructureMarshal(putReqInitSignatureField, buf[offset:], r.sig) offset += proto.NestedStructureMarshal(putReqInitHeaderField, buf[offset:], r.hdr) - proto.UInt32Marshal(putReqInitCopiesNumField, buf[offset:], r.copyNum) + proto.RepeatedUInt32Marshal(putReqInitCopiesNumField, buf[offset:], r.copyNum) return buf } @@ -529,7 +529,9 @@ func (r *PutObjectPartInit) StableSize() (size int) { size += proto.NestedStructureSize(putReqInitObjectIDField, r.id) size += proto.NestedStructureSize(putReqInitSignatureField, r.sig) size += proto.NestedStructureSize(putReqInitHeaderField, r.hdr) - size += proto.UInt32Size(putReqInitCopiesNumField, r.copyNum) + + arrSize, _ := proto.RepeatedUInt32Size(putReqInitCopiesNumField, r.copyNum) + size += arrSize return size } diff --git a/object/test/generate.go b/object/test/generate.go index 0816ffc..32d7a3c 100644 --- a/object/test/generate.go +++ b/object/test/generate.go @@ -216,7 +216,7 @@ func GeneratePutObjectPartInit(empty bool) *object.PutObjectPartInit { m := new(object.PutObjectPartInit) if !empty { - m.SetCopiesNumber(234) + m.SetCopiesNumber([]uint32{234}) m.SetObjectID(refstest.GenerateObjectID(false)) } diff --git a/object/types.go b/object/types.go index f076b74..a40de57 100644 --- a/object/types.go +++ b/object/types.go @@ -128,7 +128,7 @@ type PutObjectPartInit struct { hdr *Header - copyNum uint32 + copyNum []uint32 } type PutObjectPartChunk struct { @@ -894,15 +894,15 @@ func (r *PutObjectPartInit) SetHeader(v *Header) { r.hdr = v } -func (r *PutObjectPartInit) GetCopiesNumber() uint32 { +func (r *PutObjectPartInit) GetCopiesNumber() []uint32 { if r != nil { return r.copyNum } - return 0 + return nil } -func (r *PutObjectPartInit) SetCopiesNumber(v uint32) { +func (r *PutObjectPartInit) SetCopiesNumber(v []uint32) { r.copyNum = v } -- 2.45.2 From 5f318f0b75f640cfcd9a3308a76a37f340771214 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Tue, 11 Apr 2023 10:37:12 +0300 Subject: [PATCH 2/4] Revert "Revert "[#16] container, object: Regenerate service comments"" This reverts commit b02ec516e72fbc9030d6dc71f956e23ac93c54da. --- container/grpc/service_grpc.pb.go | Bin 17607 -> 17499 bytes object/grpc/service_grpc.pb.go | Bin 32964 -> 32428 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/container/grpc/service_grpc.pb.go b/container/grpc/service_grpc.pb.go index 3af498bba002bbfcd1d3e92ab1699e2844d15f03..1de8b5f290d441334bb8ae7f389b8012488cd335 100644 GIT binary patch delta 307 zcmX@!$#}biaYF*jMLM0Znxj_Uci?JVoiv4ES z0gGv~TXS*h>nkWs4&$(!Jc;8jRDKGlAwmY&_ zMMR(LkZ3(%xb9DA*&-;i2_|1<4A}023%_&kIp=%WZ@YSv+|W{q19M$ECO?je3G%<{$gcgg`Ca$RvQiE}%ZB{I(3@}FIIO}%fUNr@S%#Ld< zi;k!n6J`&{{4@?24-OpzNW`W|zVo<^M-SBqD!?fN0@Adk7m)HE7qUSY+I=AugF2*r zv*ou5GqfA+ekYGF(Kfu(EFS$qSOTg~Ddanc$*aOBsk_lvzOPcwFGwYWPF^a^j8<;V zqrB=&Gt`r2OhDx#434!!znSrc)vY$e-sxRc*e!#F-;Oizp7NMw<3(dk;~-ar0OK2M zRe-q&TeI^xPR$ffqmw8_9W}PtP>4~4vlPXO&sSX5hmqvBVLuB>!KEldJ2|E<+7{Qh zY_*+SE{y$Sg>e#it~*mygW*-n$n8p?aa7+QLPU$<)lnoHb~Qu)rOCT%JB=|dZZavv O&czCgYBAwbFZ~~lwB7Ci delta 1598 zcmZ4Um+?p=(*}N4W(5V^$pWk@lZ{x7CMU6aO%{q528%V=YXikZChxUZo&3PQVRD>9 z@Z|LlNsJ1U3j;JJ>+;G^t`p}1@)jf*0?7*rrjrjkY6Dq{5*Cvcom7FW7$v*OjZWr3 z)&m*4$wo;^K$fkn+2lf5_04NJQ<gy{gOrF4J4^$aAS%zO1 zs1M|f7Je-tYc0RUlc{@8pzW;yxJpgeDEOZp}a00Erk1ONa4 -- 2.45.2 From b3ccd0166f503cb7dad13cef6fa2ae18d61f3218 Mon Sep 17 00:00:00 2001 From: Denis Kirillov Date: Tue, 21 Feb 2023 11:23:08 +0300 Subject: [PATCH 3/4] [#17] acl: Add impersonate flag to bearer token Signed-off-by: Denis Kirillov --- CHANGELOG.md | 2 ++ acl/convert.go | 3 +++ acl/grpc/types.go | 5 +++++ acl/grpc/types.pb.go | Bin 38771 -> 39444 bytes acl/marshal.go | 5 ++++- acl/types.go | 14 ++++++++++++++ 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ab694e..8f7a84e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## [Unreleased] ### Added +- Add impersonate flag to bearer token (#17) + ### Fixed ### Changed ### Updated diff --git a/acl/convert.go b/acl/convert.go index d42aebd..3020f4d 100644 --- a/acl/convert.go +++ b/acl/convert.go @@ -427,6 +427,7 @@ func (bt *BearerTokenBody) ToGRPCMessage() grpc.Message { m.SetOwnerId(bt.ownerID.ToGRPCMessage().(*refsGRPC.OwnerID)) m.SetLifetime(bt.lifetime.ToGRPCMessage().(*acl.BearerToken_Body_TokenLifetime)) m.SetEaclTable(bt.eacl.ToGRPCMessage().(*acl.EACLTable)) + m.SetImpersonate(bt.impersonate) } return m @@ -479,6 +480,8 @@ func (bt *BearerTokenBody) FromGRPCMessage(m grpc.Message) error { err = bt.eacl.FromGRPCMessage(eacl) } + bt.impersonate = v.GetAllowImpersonate() + return err } diff --git a/acl/grpc/types.go b/acl/grpc/types.go index e1e5336..b07f893 100644 --- a/acl/grpc/types.go +++ b/acl/grpc/types.go @@ -84,6 +84,11 @@ func (m *BearerToken_Body) SetLifetime(v *BearerToken_Body_TokenLifetime) { m.Lifetime = v } +// SetImpersonate allows impersonate. +func (m *BearerToken_Body) SetImpersonate(v bool) { + m.AllowImpersonate = v +} + // SetBody sets bearer token body. func (m *BearerToken) SetBody(v *BearerToken_Body) { m.Body = v diff --git a/acl/grpc/types.pb.go b/acl/grpc/types.pb.go index 3581b88bc3a0e56e325115f4013d693fd476b583..583f89ac0cf970438f7b790a14291264c888316a 100644 GIT binary patch delta 1268 zcmah{OHUI~6pjs#v={}fSS6SX2@y;q({|c|@d3dFL?(i66isB>xy909249Ay^_X46 zhhqUjGMHiBwXDlBS#BB(1JB8G#!DWz3~sQ#{vqb+DU-9TwLzD%jhPP2w2pXe%CXbj zb-96Lf5}PNwh7PA?;BCW_LLX4^hthF7n-kTw?v00P`rHJ)=C(OJv-LM1bVz}XBE7N zw8OdK+RBfir79@LgLnxX*eRf+laYkT#g^8cSinCY@H^bgI~L36rpqgfBTquUlu{X( zSoir-(Mtd1?W!};FjGp=R5;*QN{TKnk%%}G@=Q}K&y0wZNpZ$0PV^9Jz~L)RU}tKB z@|6>rBuJ|8Io;XaO-1xqM4_U8(+ef)4(44Mcx^Vp3FBbEASxCAfG^V;+;s zpioETk&5&~&pvP^68%}*ykKnLeDwL|?RH$YI@XFO-eU``-PlL76 z-s(72-0`SFjc@f7kBN$JnAV%7iVJzlkv7FCQx&$rSGNmULnymGK(5Nt{RItjo*y2$ zL1-)-h2_E_I8`93cL@EuOksENKdc{%H86@o)uj0AXHlz0Pn0OUFSbCobXqv1(ytrh z$;D@-Z4M};6%EAtmKh0bx+%DH0W53)WVS*J5hY+v0xAtxjcrY;_qqlj^3=pV49DiG zpt-b149+*JL0R8jCx$0}#odCJV<8w$*TBu$u#haL^2bXoTFDPLC@DcNR~9wkYx|rA ztDe73l~W`|x8|q^xld9N_KwM)F!{|qDH@okoP^wOG9W?DEK5Kxm0b3yA&LVF8km>- oburR_n~ra}1!BQ@idIx{A|nE;5>OHZkZ05>ERF^%edTEAHz8zz@Bjb+ delta 751 zcmY+CKZp}S6vnybP!dkTaK>n&M)41L3r_aWY-~Ib1vy<5t`Q}LNwkp@kz}*G$>mR_ zAcFAOSz3uA;#!FW8%u>Kh>hskDu`H|cFudV$DPfvJKvjce)GL||Aq1UsqyUN+2p4` zo=y%dJ}($mJNb0&uVGZ(hb^ zb9jh^GeHsM=p=o94fo+zbR2JMC9FiJ){kZJC(hx0H-|^@JikC#h~pBnUHt;5K>#U+ zqX24MO_qkmd=sexN@4pis8CoiT414|z<>^%T4jWtIIou775Z)jx}}rSMMC|g);@R7xfLt`F7Q%TC@WzeM^U| zI-@9bmk8|eAWdJjLJ8a!iU79 Date: Tue, 18 Apr 2023 10:43:11 +0300 Subject: [PATCH 4/4] [#24] tracing: Fix panic on closed channel Closed channel is also ready for communication, so select statement can write to it. Signed-off-by: Dmitrii Stepanov --- pkg/tracing/grpc.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/tracing/grpc.go b/pkg/tracing/grpc.go index cea59b0..884ecb2 100644 --- a/pkg/tracing/grpc.go +++ b/pkg/tracing/grpc.go @@ -51,7 +51,6 @@ func NewGRPCStreamClientInterceptor() grpc.StreamClientInterceptor { strWrp := newgRPCClientStream(str, desc, finished, done) go func() { - defer close(finished) defer close(done) defer span.End() -- 2.45.2