Fix tracing panic #23
14 changed files with 38 additions and 10 deletions
|
@ -3,6 +3,8 @@
|
|||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Add impersonate flag to bearer token (#17)
|
||||
|
||||
### Fixed
|
||||
### Changed
|
||||
### Updated
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
BIN
acl/grpc/types.pb.go
generated
BIN
acl/grpc/types.pb.go
generated
Binary file not shown.
|
@ -31,6 +31,7 @@ const (
|
|||
bearerTokenBodyACLField = 1
|
||||
bearerTokenBodyOwnerField = 2
|
||||
bearerTokenBodyLifetimeField = 3
|
||||
bearerTokenBodyImpersonate = 4
|
||||
|
||||
bearerTokenBodyField = 1
|
||||
bearerTokenSignatureField = 2
|
||||
|
@ -251,7 +252,8 @@ func (bt *BearerTokenBody) StableMarshal(buf []byte) []byte {
|
|||
|
||||
offset += protoutil.NestedStructureMarshal(bearerTokenBodyACLField, buf[offset:], bt.eacl)
|
||||
offset += protoutil.NestedStructureMarshal(bearerTokenBodyOwnerField, buf[offset:], bt.ownerID)
|
||||
protoutil.NestedStructureMarshal(bearerTokenBodyLifetimeField, buf[offset:], bt.lifetime)
|
||||
offset += protoutil.NestedStructureMarshal(bearerTokenBodyLifetimeField, buf[offset:], bt.lifetime)
|
||||
protoutil.BoolMarshal(bearerTokenBodyImpersonate, buf[offset:], bt.impersonate)
|
||||
|
||||
return buf
|
||||
}
|
||||
|
@ -264,6 +266,7 @@ func (bt *BearerTokenBody) StableSize() (size int) {
|
|||
size += protoutil.NestedStructureSize(bearerTokenBodyACLField, bt.eacl)
|
||||
size += protoutil.NestedStructureSize(bearerTokenBodyOwnerField, bt.ownerID)
|
||||
size += protoutil.NestedStructureSize(bearerTokenBodyLifetimeField, bt.lifetime)
|
||||
size += protoutil.BoolSize(bearerTokenBodyImpersonate, bt.impersonate)
|
||||
|
||||
return size
|
||||
}
|
||||
|
|
14
acl/types.go
14
acl/types.go
|
@ -52,6 +52,8 @@ type BearerTokenBody struct {
|
|||
ownerID *refs.OwnerID
|
||||
|
||||
lifetime *TokenLifetime
|
||||
|
||||
impersonate bool
|
||||
}
|
||||
|
||||
type BearerToken struct {
|
||||
|
@ -340,6 +342,18 @@ func (bt *BearerTokenBody) SetLifetime(v *TokenLifetime) {
|
|||
bt.lifetime = v
|
||||
}
|
||||
|
||||
func (bt *BearerTokenBody) GetImpersonate() bool {
|
||||
if bt != nil {
|
||||
return bt.impersonate
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func (bt *BearerTokenBody) SetImpersonate(v bool) {
|
||||
bt.impersonate = v
|
||||
}
|
||||
|
||||
func (bt *BearerToken) GetBody() *BearerTokenBody {
|
||||
if bt != nil {
|
||||
return bt.body
|
||||
|
|
BIN
container/grpc/service_grpc.pb.go
generated
BIN
container/grpc/service_grpc.pb.go
generated
Binary file not shown.
|
@ -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
|
||||
}
|
||||
|
||||
|
|
BIN
object/grpc/service.pb.go
generated
BIN
object/grpc/service.pb.go
generated
Binary file not shown.
BIN
object/grpc/service_grpc.pb.go
generated
BIN
object/grpc/service_grpc.pb.go
generated
Binary file not shown.
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in a new issue