From 9d48749f2d170f3c1f657a5c6f88cfe83557a011 Mon Sep 17 00:00:00 2001 From: "Crane.z" <1481445951@qq.com> Date: Fri, 21 Aug 2026 10:55:23 +0800 Subject: [PATCH 1/2] feat(protocol): forward Oracle SYSDBA option --- cmd/impl/convert_pb.go | 4 + cmd/impl/jms.go | 1 + go.mod | 2 +- go.sum | 2 + protobuf-go/protobuf/common.pb.go | 466 ++++++----- protobuf-java/org/jumpserver/wisp/Common.java | 760 ++++++++++++++++-- protobuf-py/protobuf/common_pb2.py | 52 +- protobuf-py/protobuf/common_pb2.pyi | 12 +- protobuf-rs/message.rs | 7 + protos/common.proto | 7 +- 10 files changed, 1033 insertions(+), 280 deletions(-) diff --git a/cmd/impl/convert_pb.go b/cmd/impl/convert_pb.go index 99896b1..b648ade 100644 --- a/cmd/impl/convert_pb.go +++ b/cmd/impl/convert_pb.go @@ -243,6 +243,10 @@ func ConvertToPbSetting(setting *model.TerminalConfig) *pb.ComponentSetting { } } +func ConvertToPbConnectOptions(options model.ConnectOptions) *pb.ConnectOptions { + return &pb.ConnectOptions{UseSysdba: options.UseSysDBA} +} + func ConvertToPbPlatform(platform *model.Platform) *pb.Platform { return &pb.Platform{ Id: int32(platform.ID), diff --git a/cmd/impl/jms.go b/cmd/impl/jms.go index 942f21c..7a14536 100644 --- a/cmd/impl/jms.go +++ b/cmd/impl/jms.go @@ -70,6 +70,7 @@ func (j *JMServer) GetTokenAuthInfo(ctx context.Context, req *pb.TokenRequest) ( Platform: ConvertToPbPlatform(&tokenAuthInfo.Platform), DataMaskingRules: ConvertToDataMaskingRules(tokenAuthInfo.DataMaskingRules), FaceMonitorToken: tokenAuthInfo.FaceMonitorToken, + ConnectOptions: ConvertToPbConnectOptions(tokenAuthInfo.ConnectOptions), } status.Ok = true logger.Debugf("Get database auth info success by token: %s", req.Token) diff --git a/go.mod b/go.mod index 6fca7a2..268bd92 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.24.6 require ( github.com/gorilla/websocket v1.5.3 - github.com/jumpserver-dev/sdk-go v0.0.0-20260727030641-b0cef8e97370 + github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.10.1 github.com/spf13/viper v1.21.0 diff --git a/go.sum b/go.sum index 3817d73..0ec1183 100644 --- a/go.sum +++ b/go.sum @@ -74,6 +74,8 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= github.com/jumpserver-dev/sdk-go v0.0.0-20260727030641-b0cef8e97370 h1:6QDjMGSy908FCCaJsr1dqSECV51ZskWK5n/Glb4dsH8= github.com/jumpserver-dev/sdk-go v0.0.0-20260727030641-b0cef8e97370/go.mod h1:QmnL7BRb74/XY1nu8kWQWs6DHXt3uIaWkDCkQSRyZlM= +github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d h1:oNOuExZJ/KL5lnn8y5duKYF6LrUp7lK/5DHKTPxyI/8= +github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d/go.mod h1:QmnL7BRb74/XY1nu8kWQWs6DHXt3uIaWkDCkQSRyZlM= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= diff --git a/protobuf-go/protobuf/common.pb.go b/protobuf-go/protobuf/common.pb.go index 496369b..614b002 100644 --- a/protobuf-go/protobuf/common.pb.go +++ b/protobuf-go/protobuf/common.pb.go @@ -319,7 +319,7 @@ func (x LifecycleLogDataEventType) Number() protoreflect.EnumNumber { // Deprecated: Use LifecycleLogDataEventType.Descriptor instead. func (LifecycleLogDataEventType) EnumDescriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{21, 0} + return file_common_proto_rawDescGZIP(), []int{22, 0} } type User struct { @@ -1492,6 +1492,53 @@ func (x *TerminalTask) GetTokenStatus() *TokenStatus { return nil } +type ConnectOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UseSysdba bool `protobuf:"varint,1,opt,name=use_sysdba,json=useSysdba,proto3" json:"use_sysdba,omitempty"` +} + +func (x *ConnectOptions) Reset() { + *x = ConnectOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectOptions) ProtoMessage() {} + +func (x *ConnectOptions) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectOptions.ProtoReflect.Descriptor instead. +func (*ConnectOptions) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{14} +} + +func (x *ConnectOptions) GetUseSysdba() bool { + if x != nil { + return x.UseSysdba + } + return false +} + type TokenAuthInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1510,12 +1557,13 @@ type TokenAuthInfo struct { Platform *Platform `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform,omitempty"` FaceMonitorToken string `protobuf:"bytes,12,opt,name=FaceMonitorToken,proto3" json:"FaceMonitorToken,omitempty"` DataMaskingRules []*DataMaskingRule `protobuf:"bytes,13,rep,name=data_masking_rules,json=dataMaskingRules,proto3" json:"data_masking_rules,omitempty"` + ConnectOptions *ConnectOptions `protobuf:"bytes,14,opt,name=connect_options,json=connectOptions,proto3" json:"connect_options,omitempty"` } func (x *TokenAuthInfo) Reset() { *x = TokenAuthInfo{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[14] + mi := &file_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1528,7 +1576,7 @@ func (x *TokenAuthInfo) String() string { func (*TokenAuthInfo) ProtoMessage() {} func (x *TokenAuthInfo) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[14] + mi := &file_common_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1541,7 +1589,7 @@ func (x *TokenAuthInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenAuthInfo.ProtoReflect.Descriptor instead. func (*TokenAuthInfo) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{14} + return file_common_proto_rawDescGZIP(), []int{15} } func (x *TokenAuthInfo) GetKeyId() string { @@ -1635,6 +1683,13 @@ func (x *TokenAuthInfo) GetDataMaskingRules() []*DataMaskingRule { return nil } +func (x *TokenAuthInfo) GetConnectOptions() *ConnectOptions { + if x != nil { + return x.ConnectOptions + } + return nil +} + type Platform struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1651,7 +1706,7 @@ type Platform struct { func (x *Platform) Reset() { *x = Platform{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[15] + mi := &file_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1664,7 +1719,7 @@ func (x *Platform) String() string { func (*Platform) ProtoMessage() {} func (x *Platform) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[15] + mi := &file_common_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1677,7 +1732,7 @@ func (x *Platform) ProtoReflect() protoreflect.Message { // Deprecated: Use Platform.ProtoReflect.Descriptor instead. func (*Platform) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{15} + return file_common_proto_rawDescGZIP(), []int{16} } func (x *Platform) GetId() int32 { @@ -1736,7 +1791,7 @@ type PlatformProtocol struct { func (x *PlatformProtocol) Reset() { *x = PlatformProtocol{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[16] + mi := &file_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1749,7 +1804,7 @@ func (x *PlatformProtocol) String() string { func (*PlatformProtocol) ProtoMessage() {} func (x *PlatformProtocol) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[16] + mi := &file_common_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1762,7 +1817,7 @@ func (x *PlatformProtocol) ProtoReflect() protoreflect.Message { // Deprecated: Use PlatformProtocol.ProtoReflect.Descriptor instead. func (*PlatformProtocol) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{16} + return file_common_proto_rawDescGZIP(), []int{17} } func (x *PlatformProtocol) GetId() int32 { @@ -1805,7 +1860,7 @@ type ComponentSetting struct { func (x *ComponentSetting) Reset() { *x = ComponentSetting{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[17] + mi := &file_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1818,7 +1873,7 @@ func (x *ComponentSetting) String() string { func (*ComponentSetting) ProtoMessage() {} func (x *ComponentSetting) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[17] + mi := &file_common_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1831,7 +1886,7 @@ func (x *ComponentSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use ComponentSetting.ProtoReflect.Descriptor instead. func (*ComponentSetting) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{17} + return file_common_proto_rawDescGZIP(), []int{18} } func (x *ComponentSetting) GetMaxIdleTime() int32 { @@ -1861,7 +1916,7 @@ type Forward struct { func (x *Forward) Reset() { *x = Forward{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[18] + mi := &file_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1874,7 +1929,7 @@ func (x *Forward) String() string { func (*Forward) ProtoMessage() {} func (x *Forward) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[18] + mi := &file_common_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1887,7 +1942,7 @@ func (x *Forward) ProtoReflect() protoreflect.Message { // Deprecated: Use Forward.ProtoReflect.Descriptor instead. func (*Forward) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{18} + return file_common_proto_rawDescGZIP(), []int{19} } func (x *Forward) GetId() string { @@ -1928,7 +1983,7 @@ type PublicSetting struct { func (x *PublicSetting) Reset() { *x = PublicSetting{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[19] + mi := &file_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1941,7 +1996,7 @@ func (x *PublicSetting) String() string { func (*PublicSetting) ProtoMessage() {} func (x *PublicSetting) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[19] + mi := &file_common_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1954,7 +2009,7 @@ func (x *PublicSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicSetting.ProtoReflect.Descriptor instead. func (*PublicSetting) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{19} + return file_common_proto_rawDescGZIP(), []int{20} } func (x *PublicSetting) GetXpackEnabled() bool { @@ -2018,7 +2073,7 @@ type Cookie struct { func (x *Cookie) Reset() { *x = Cookie{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[20] + mi := &file_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2031,7 +2086,7 @@ func (x *Cookie) String() string { func (*Cookie) ProtoMessage() {} func (x *Cookie) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[20] + mi := &file_common_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2044,7 +2099,7 @@ func (x *Cookie) ProtoReflect() protoreflect.Message { // Deprecated: Use Cookie.ProtoReflect.Descriptor instead. func (*Cookie) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{20} + return file_common_proto_rawDescGZIP(), []int{21} } func (x *Cookie) GetName() string { @@ -2074,7 +2129,7 @@ type LifecycleLogData struct { func (x *LifecycleLogData) Reset() { *x = LifecycleLogData{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[21] + mi := &file_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2087,7 +2142,7 @@ func (x *LifecycleLogData) String() string { func (*LifecycleLogData) ProtoMessage() {} func (x *LifecycleLogData) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[21] + mi := &file_common_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2100,7 +2155,7 @@ func (x *LifecycleLogData) ProtoReflect() protoreflect.Message { // Deprecated: Use LifecycleLogData.ProtoReflect.Descriptor instead. func (*LifecycleLogData) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{21} + return file_common_proto_rawDescGZIP(), []int{22} } func (x *LifecycleLogData) GetEvent() LifecycleLogDataEventType { @@ -2147,7 +2202,7 @@ type Asset_Specific struct { func (x *Asset_Specific) Reset() { *x = Asset_Specific{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[22] + mi := &file_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2160,7 +2215,7 @@ func (x *Asset_Specific) String() string { func (*Asset_Specific) ProtoMessage() {} func (x *Asset_Specific) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[22] + mi := &file_common_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2458,143 +2513,150 @@ var file_common_proto_rawDesc = []byte{ 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xe3, 0x04, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x68, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x33, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0c, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x41, 0x43, 0x4c, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, - 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x46, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, 0x6b, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0xcc, 0x01, 0x0a, - 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x3b, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x60, 0x0a, 0x10, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x6c, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, - 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, - 0x07, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x22, 0xfe, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x78, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x78, 0x70, 0x61, 0x63, 0x6b, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, - 0x67, 0x70, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x67, 0x70, 0x74, 0x42, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1e, - 0x0a, 0x0b, 0x67, 0x70, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x70, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x1b, - 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, - 0x70, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x67, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x22, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x67, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x22, 0xc0, 0x02, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x73, 0x65, - 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x14, - 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4a, 0x6f, 0x69, - 0x6e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x10, 0x06, - 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x10, 0x0c, 0x2a, 0x6b, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0x03, 0x12, 0x12, - 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0x04, 0x2a, 0x66, 0x0a, 0x09, 0x52, 0x69, 0x73, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x05, 0x42, 0x20, 0x0a, 0x13, 0x6f, 0x72, - 0x67, 0x2e, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x77, 0x69, 0x73, - 0x70, 0x5a, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x73, 0x22, 0x2f, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x64, + 0x62, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x53, 0x79, 0x73, + 0x64, 0x62, 0x61, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0c, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x41, 0x43, 0x4c, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x46, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, 0x6b, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, + 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, + 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, + 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, + 0xcc, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x08, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x60, + 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x41, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, + 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x78, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x78, 0x70, + 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, + 0x20, 0x0a, 0x0c, 0x67, 0x70, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x70, 0x74, 0x42, 0x61, 0x73, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x1e, 0x0a, 0x0b, 0x67, 0x70, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x70, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x66, + 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc0, 0x02, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x18, 0x0a, + 0x14, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, + 0x55, 0x73, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, + 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x14, 0x0a, + 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x52, + 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x09, 0x12, + 0x15, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x0b, 0x12, + 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x0c, 0x2a, 0x6b, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x6b, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, + 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x10, 0x04, 0x2a, 0x66, 0x0a, 0x09, 0x52, 0x69, 0x73, 0x6b, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x05, 0x42, 0x20, 0x0a, + 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x77, 0x69, 0x73, 0x70, 0x5a, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2610,7 +2672,7 @@ func file_common_proto_rawDescGZIP() []byte { } var file_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_common_proto_goTypes = []interface{}{ (TaskAction)(0), // 0: message.TaskAction (RiskLevel)(0), // 1: message.RiskLevel @@ -2631,21 +2693,22 @@ var file_common_proto_goTypes = []interface{}{ (*Session)(nil), // 16: message.Session (*TokenStatus)(nil), // 17: message.TokenStatus (*TerminalTask)(nil), // 18: message.TerminalTask - (*TokenAuthInfo)(nil), // 19: message.TokenAuthInfo - (*Platform)(nil), // 20: message.Platform - (*PlatformProtocol)(nil), // 21: message.PlatformProtocol - (*ComponentSetting)(nil), // 22: message.ComponentSetting - (*Forward)(nil), // 23: message.Forward - (*PublicSetting)(nil), // 24: message.PublicSetting - (*Cookie)(nil), // 25: message.Cookie - (*LifecycleLogData)(nil), // 26: message.LifecycleLogData - (*Asset_Specific)(nil), // 27: message.Asset.Specific - nil, // 28: message.PlatformProtocol.SettingsEntry + (*ConnectOptions)(nil), // 19: message.ConnectOptions + (*TokenAuthInfo)(nil), // 20: message.TokenAuthInfo + (*Platform)(nil), // 21: message.Platform + (*PlatformProtocol)(nil), // 22: message.PlatformProtocol + (*ComponentSetting)(nil), // 23: message.ComponentSetting + (*Forward)(nil), // 24: message.Forward + (*PublicSetting)(nil), // 25: message.PublicSetting + (*Cookie)(nil), // 26: message.Cookie + (*LifecycleLogData)(nil), // 27: message.LifecycleLogData + (*Asset_Specific)(nil), // 28: message.Asset.Specific + nil, // 29: message.PlatformProtocol.SettingsEntry } var file_common_proto_depIdxs = []int32{ 7, // 0: message.Account.secretType:type_name -> message.LabelValue 9, // 1: message.Asset.protocols:type_name -> message.Protocol - 27, // 2: message.Asset.specific:type_name -> message.Asset.Specific + 28, // 2: message.Asset.specific:type_name -> message.Asset.Specific 2, // 3: message.CommandACL.action:type_name -> message.CommandACL.Action 14, // 4: message.CommandACL.command_groups:type_name -> message.CommandGroup 3, // 5: message.Session.login_from:type_name -> message.Session.LoginFrom @@ -2658,17 +2721,18 @@ var file_common_proto_depIdxs = []int32{ 15, // 12: message.TokenAuthInfo.expire_info:type_name -> message.ExpireInfo 12, // 13: message.TokenAuthInfo.filter_rules:type_name -> message.CommandACL 10, // 14: message.TokenAuthInfo.gateways:type_name -> message.Gateway - 22, // 15: message.TokenAuthInfo.setting:type_name -> message.ComponentSetting - 20, // 16: message.TokenAuthInfo.platform:type_name -> message.Platform + 23, // 15: message.TokenAuthInfo.setting:type_name -> message.ComponentSetting + 21, // 16: message.TokenAuthInfo.platform:type_name -> message.Platform 13, // 17: message.TokenAuthInfo.data_masking_rules:type_name -> message.DataMaskingRule - 21, // 18: message.Platform.protocols:type_name -> message.PlatformProtocol - 28, // 19: message.PlatformProtocol.settings:type_name -> message.PlatformProtocol.SettingsEntry - 4, // 20: message.LifecycleLogData.event:type_name -> message.LifecycleLogData.event_type - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 19, // 18: message.TokenAuthInfo.connect_options:type_name -> message.ConnectOptions + 22, // 19: message.Platform.protocols:type_name -> message.PlatformProtocol + 29, // 20: message.PlatformProtocol.settings:type_name -> message.PlatformProtocol.SettingsEntry + 4, // 21: message.LifecycleLogData.event:type_name -> message.LifecycleLogData.event_type + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_common_proto_init() } @@ -2846,7 +2910,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenAuthInfo); i { + switch v := v.(*ConnectOptions); i { case 0: return &v.state case 1: @@ -2858,7 +2922,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Platform); i { + switch v := v.(*TokenAuthInfo); i { case 0: return &v.state case 1: @@ -2870,7 +2934,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformProtocol); i { + switch v := v.(*Platform); i { case 0: return &v.state case 1: @@ -2882,7 +2946,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComponentSetting); i { + switch v := v.(*PlatformProtocol); i { case 0: return &v.state case 1: @@ -2894,7 +2958,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Forward); i { + switch v := v.(*ComponentSetting); i { case 0: return &v.state case 1: @@ -2906,7 +2970,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublicSetting); i { + switch v := v.(*Forward); i { case 0: return &v.state case 1: @@ -2918,7 +2982,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cookie); i { + switch v := v.(*PublicSetting); i { case 0: return &v.state case 1: @@ -2930,7 +2994,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LifecycleLogData); i { + switch v := v.(*Cookie); i { case 0: return &v.state case 1: @@ -2942,6 +3006,18 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LifecycleLogData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Asset_Specific); i { case 0: return &v.state @@ -2960,7 +3036,7 @@ func file_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 5, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/protobuf-java/org/jumpserver/wisp/Common.java b/protobuf-java/org/jumpserver/wisp/Common.java index f23c973..51a5039 100644 --- a/protobuf-java/org/jumpserver/wisp/Common.java +++ b/protobuf-java/org/jumpserver/wisp/Common.java @@ -18510,6 +18510,441 @@ public org.jumpserver.wisp.Common.TerminalTask getDefaultInstanceForType() { } + public interface ConnectOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:message.ConnectOptions) + com.google.protobuf.MessageOrBuilder { + + /** + * bool use_sysdba = 1; + * @return The useSysdba. + */ + boolean getUseSysdba(); + } + /** + * Protobuf type {@code message.ConnectOptions} + */ + public static final class ConnectOptions extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:message.ConnectOptions) + ConnectOptionsOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ConnectOptions.class.getName()); + } + // Use ConnectOptions.newBuilder() to construct. + private ConnectOptions(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ConnectOptions() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.jumpserver.wisp.Common.ConnectOptions.class, org.jumpserver.wisp.Common.ConnectOptions.Builder.class); + } + + public static final int USE_SYSDBA_FIELD_NUMBER = 1; + private boolean useSysdba_ = false; + /** + * bool use_sysdba = 1; + * @return The useSysdba. + */ + @java.lang.Override + public boolean getUseSysdba() { + return useSysdba_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (useSysdba_ != false) { + output.writeBool(1, useSysdba_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (useSysdba_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(1, useSysdba_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.jumpserver.wisp.Common.ConnectOptions)) { + return super.equals(obj); + } + org.jumpserver.wisp.Common.ConnectOptions other = (org.jumpserver.wisp.Common.ConnectOptions) obj; + + if (getUseSysdba() + != other.getUseSysdba()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + USE_SYSDBA_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getUseSysdba()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.jumpserver.wisp.Common.ConnectOptions parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.jumpserver.wisp.Common.ConnectOptions parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.jumpserver.wisp.Common.ConnectOptions parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.jumpserver.wisp.Common.ConnectOptions prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code message.ConnectOptions} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:message.ConnectOptions) + org.jumpserver.wisp.Common.ConnectOptionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.jumpserver.wisp.Common.ConnectOptions.class, org.jumpserver.wisp.Common.ConnectOptions.Builder.class); + } + + // Construct using org.jumpserver.wisp.Common.ConnectOptions.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + useSysdba_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_descriptor; + } + + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptions getDefaultInstanceForType() { + return org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance(); + } + + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptions build() { + org.jumpserver.wisp.Common.ConnectOptions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptions buildPartial() { + org.jumpserver.wisp.Common.ConnectOptions result = new org.jumpserver.wisp.Common.ConnectOptions(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.jumpserver.wisp.Common.ConnectOptions result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.useSysdba_ = useSysdba_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.jumpserver.wisp.Common.ConnectOptions) { + return mergeFrom((org.jumpserver.wisp.Common.ConnectOptions)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.jumpserver.wisp.Common.ConnectOptions other) { + if (other == org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance()) return this; + if (other.getUseSysdba() != false) { + setUseSysdba(other.getUseSysdba()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + useSysdba_ = input.readBool(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private boolean useSysdba_ ; + /** + * bool use_sysdba = 1; + * @return The useSysdba. + */ + @java.lang.Override + public boolean getUseSysdba() { + return useSysdba_; + } + /** + * bool use_sysdba = 1; + * @param value The useSysdba to set. + * @return This builder for chaining. + */ + public Builder setUseSysdba(boolean value) { + + useSysdba_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * bool use_sysdba = 1; + * @return This builder for chaining. + */ + public Builder clearUseSysdba() { + bitField0_ = (bitField0_ & ~0x00000001); + useSysdba_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:message.ConnectOptions) + } + + // @@protoc_insertion_point(class_scope:message.ConnectOptions) + private static final org.jumpserver.wisp.Common.ConnectOptions DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.jumpserver.wisp.Common.ConnectOptions(); + } + + public static org.jumpserver.wisp.Common.ConnectOptions getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectOptions parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptions getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface TokenAuthInfoOrBuilder extends // @@protoc_insertion_point(interface_extends:message.TokenAuthInfo) com.google.protobuf.MessageOrBuilder { @@ -18726,6 +19161,21 @@ org.jumpserver.wisp.Common.GatewayOrBuilder getGatewaysOrBuilder( */ org.jumpserver.wisp.Common.DataMaskingRuleOrBuilder getDataMaskingRulesOrBuilder( int index); + + /** + * .message.ConnectOptions connect_options = 14; + * @return Whether the connectOptions field is set. + */ + boolean hasConnectOptions(); + /** + * .message.ConnectOptions connect_options = 14; + * @return The connectOptions. + */ + org.jumpserver.wisp.Common.ConnectOptions getConnectOptions(); + /** + * .message.ConnectOptions connect_options = 14; + */ + org.jumpserver.wisp.Common.ConnectOptionsOrBuilder getConnectOptionsOrBuilder(); } /** * Protobuf type {@code message.TokenAuthInfo} @@ -19193,6 +19643,32 @@ public org.jumpserver.wisp.Common.DataMaskingRuleOrBuilder getDataMaskingRulesOr return dataMaskingRules_.get(index); } + public static final int CONNECT_OPTIONS_FIELD_NUMBER = 14; + private org.jumpserver.wisp.Common.ConnectOptions connectOptions_; + /** + * .message.ConnectOptions connect_options = 14; + * @return Whether the connectOptions field is set. + */ + @java.lang.Override + public boolean hasConnectOptions() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * .message.ConnectOptions connect_options = 14; + * @return The connectOptions. + */ + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptions getConnectOptions() { + return connectOptions_ == null ? org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance() : connectOptions_; + } + /** + * .message.ConnectOptions connect_options = 14; + */ + @java.lang.Override + public org.jumpserver.wisp.Common.ConnectOptionsOrBuilder getConnectOptionsOrBuilder() { + return connectOptions_ == null ? org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance() : connectOptions_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -19246,6 +19722,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) for (int i = 0; i < dataMaskingRules_.size(); i++) { output.writeMessage(13, dataMaskingRules_.get(i)); } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeMessage(14, getConnectOptions()); + } getUnknownFields().writeTo(output); } @@ -19304,6 +19783,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, dataMaskingRules_.get(i)); } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(14, getConnectOptions()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -19366,6 +19849,11 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getFaceMonitorToken())) return false; if (!getDataMaskingRulesList() .equals(other.getDataMaskingRulesList())) return false; + if (hasConnectOptions() != other.hasConnectOptions()) return false; + if (hasConnectOptions()) { + if (!getConnectOptions() + .equals(other.getConnectOptions())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -19423,6 +19911,10 @@ public int hashCode() { hash = (37 * hash) + DATA_MASKING_RULES_FIELD_NUMBER; hash = (53 * hash) + getDataMaskingRulesList().hashCode(); } + if (hasConnectOptions()) { + hash = (37 * hash) + CONNECT_OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getConnectOptions().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -19563,6 +20055,7 @@ private void maybeForceBuilderInitialization() { internalGetSettingFieldBuilder(); internalGetPlatformFieldBuilder(); internalGetDataMaskingRulesFieldBuilder(); + internalGetConnectOptionsFieldBuilder(); } } @java.lang.Override @@ -19628,6 +20121,11 @@ public Builder clear() { dataMaskingRulesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00001000); + connectOptions_ = null; + if (connectOptionsBuilder_ != null) { + connectOptionsBuilder_.dispose(); + connectOptionsBuilder_ = null; + } return this; } @@ -19744,6 +20242,12 @@ private void buildPartial0(org.jumpserver.wisp.Common.TokenAuthInfo result) { if (((from_bitField0_ & 0x00000800) != 0)) { result.faceMonitorToken_ = faceMonitorToken_; } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.connectOptions_ = connectOptionsBuilder_ == null + ? connectOptions_ + : connectOptionsBuilder_.build(); + to_bitField0_ |= 0x00000080; + } result.bitField0_ |= to_bitField0_; } @@ -19873,6 +20377,9 @@ public Builder mergeFrom(org.jumpserver.wisp.Common.TokenAuthInfo other) { } } } + if (other.hasConnectOptions()) { + mergeConnectOptions(other.getConnectOptions()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -20002,6 +20509,13 @@ public Builder mergeFrom( } break; } // case 106 + case 114: { + input.readMessage( + internalGetConnectOptionsFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00002000; + break; + } // case 114 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -21802,6 +22316,127 @@ public org.jumpserver.wisp.Common.DataMaskingRule.Builder addDataMaskingRulesBui return dataMaskingRulesBuilder_; } + private org.jumpserver.wisp.Common.ConnectOptions connectOptions_; + private com.google.protobuf.SingleFieldBuilder< + org.jumpserver.wisp.Common.ConnectOptions, org.jumpserver.wisp.Common.ConnectOptions.Builder, org.jumpserver.wisp.Common.ConnectOptionsOrBuilder> connectOptionsBuilder_; + /** + * .message.ConnectOptions connect_options = 14; + * @return Whether the connectOptions field is set. + */ + public boolean hasConnectOptions() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + * .message.ConnectOptions connect_options = 14; + * @return The connectOptions. + */ + public org.jumpserver.wisp.Common.ConnectOptions getConnectOptions() { + if (connectOptionsBuilder_ == null) { + return connectOptions_ == null ? org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance() : connectOptions_; + } else { + return connectOptionsBuilder_.getMessage(); + } + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public Builder setConnectOptions(org.jumpserver.wisp.Common.ConnectOptions value) { + if (connectOptionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectOptions_ = value; + } else { + connectOptionsBuilder_.setMessage(value); + } + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public Builder setConnectOptions( + org.jumpserver.wisp.Common.ConnectOptions.Builder builderForValue) { + if (connectOptionsBuilder_ == null) { + connectOptions_ = builderForValue.build(); + } else { + connectOptionsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public Builder mergeConnectOptions(org.jumpserver.wisp.Common.ConnectOptions value) { + if (connectOptionsBuilder_ == null) { + if (((bitField0_ & 0x00002000) != 0) && + connectOptions_ != null && + connectOptions_ != org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance()) { + getConnectOptionsBuilder().mergeFrom(value); + } else { + connectOptions_ = value; + } + } else { + connectOptionsBuilder_.mergeFrom(value); + } + if (connectOptions_ != null) { + bitField0_ |= 0x00002000; + onChanged(); + } + return this; + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public Builder clearConnectOptions() { + bitField0_ = (bitField0_ & ~0x00002000); + connectOptions_ = null; + if (connectOptionsBuilder_ != null) { + connectOptionsBuilder_.dispose(); + connectOptionsBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public org.jumpserver.wisp.Common.ConnectOptions.Builder getConnectOptionsBuilder() { + bitField0_ |= 0x00002000; + onChanged(); + return internalGetConnectOptionsFieldBuilder().getBuilder(); + } + /** + * .message.ConnectOptions connect_options = 14; + */ + public org.jumpserver.wisp.Common.ConnectOptionsOrBuilder getConnectOptionsOrBuilder() { + if (connectOptionsBuilder_ != null) { + return connectOptionsBuilder_.getMessageOrBuilder(); + } else { + return connectOptions_ == null ? + org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance() : connectOptions_; + } + } + /** + * .message.ConnectOptions connect_options = 14; + */ + private com.google.protobuf.SingleFieldBuilder< + org.jumpserver.wisp.Common.ConnectOptions, org.jumpserver.wisp.Common.ConnectOptions.Builder, org.jumpserver.wisp.Common.ConnectOptionsOrBuilder> + internalGetConnectOptionsFieldBuilder() { + if (connectOptionsBuilder_ == null) { + connectOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.jumpserver.wisp.Common.ConnectOptions, org.jumpserver.wisp.Common.ConnectOptions.Builder, org.jumpserver.wisp.Common.ConnectOptionsOrBuilder>( + getConnectOptions(), + getParentForChildren(), + isClean()); + connectOptions_ = null; + } + return connectOptionsBuilder_; + } + // @@protoc_insertion_point(builder_scope:message.TokenAuthInfo) } @@ -28345,12 +28980,12 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_User_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_User_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_Account_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_Account_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor @@ -28418,6 +29053,11 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_TerminalTask_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_message_ConnectOptions_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_message_ConnectOptions_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_TokenAuthInfo_descriptor; private static final @@ -28526,51 +29166,53 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { "essage.TaskAction\022\022\n\nsession_id\030\003 \001(\t\022\025\n" + "\rterminated_by\030\004 \001(\t\022\022\n\ncreated_by\030\005 \001(\t" + "\022*\n\014token_status\030\006 \001(\0132\024.message.TokenSt" + - "atus\"\325\003\n\rTokenAuthInfo\022\016\n\006key_id\030\001 \001(\t\022\022" + - "\n\nsecrete_id\030\002 \001(\t\022\035\n\005asset\030\003 \001(\0132\016.mess" + - "age.Asset\022\033\n\004user\030\004 \001(\0132\r.message.User\022!" + - "\n\007account\030\005 \001(\0132\020.message.Account\022\'\n\nper" + - "mission\030\006 \001(\0132\023.message.Permission\022(\n\013ex" + - "pire_info\030\007 \001(\0132\023.message.ExpireInfo\022)\n\014" + - "filter_rules\030\010 \003(\0132\023.message.CommandACL\022" + - "\"\n\010gateways\030\t \003(\0132\020.message.Gateway\022*\n\007s" + - "etting\030\n \001(\0132\031.message.ComponentSetting\022" + - "#\n\010platform\030\013 \001(\0132\021.message.Platform\022\030\n\020" + - "FaceMonitorToken\030\014 \001(\t\0224\n\022data_masking_r" + - "ules\030\r \003(\0132\030.message.DataMaskingRule\"\203\001\n" + - "\010Platform\022\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\020\n\010c" + - "ategory\030\003 \001(\t\022\017\n\007charset\030\004 \001(\t\022\014\n\004type\030\005" + - " \001(\t\022,\n\tprotocols\030\006 \003(\0132\031.message.Platfo" + - "rmProtocol\"\246\001\n\020PlatformProtocol\022\n\n\002id\030\001 " + - "\001(\005\022\014\n\004name\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\0229\n\010setti" + - "ngs\030\004 \003(\0132\'.message.PlatformProtocol.Set" + - "tingsEntry\032/\n\rSettingsEntry\022\013\n\003key\030\001 \001(\t" + - "\022\r\n\005value\030\002 \001(\t:\0028\001\"C\n\020ComponentSetting\022" + - "\025\n\rmax_idle_time\030\001 \001(\005\022\030\n\020max_session_ti" + - "me\030\002 \001(\005\"1\n\007Forward\022\n\n\002id\030\001 \001(\t\022\014\n\004Host\030" + - "\002 \001(\t\022\014\n\004port\030\003 \001(\005\"\247\001\n\rPublicSetting\022\025\n" + - "\rxpack_enabled\030\001 \001(\010\022\025\n\rvalid_license\030\002 " + - "\001(\010\022\024\n\014gpt_base_url\030\003 \001(\t\022\023\n\013gpt_api_key" + - "\030\004 \001(\t\022\021\n\tgpt_proxy\030\005 \001(\t\022\021\n\tgpt_model\030\006" + - " \001(\t\022\027\n\017license_content\030\007 \001(\t\"%\n\006Cookie\022" + - "\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\250\003\n\020Lifecyc" + - "leLogData\0223\n\005event\030\001 \001(\0162$.message.Lifec" + - "ycleLogData.event_type\022\016\n\006reason\030\002 \001(\t\022\014" + - "\n\004user\030\003 \001(\t\"\300\002\n\nevent_type\022\027\n\023AssetConn" + - "ectSuccess\020\000\022\030\n\024AssetConnectFinished\020\001\022\023" + - "\n\017CreateShareLink\020\002\022\023\n\017UserJoinSession\020\003" + - "\022\024\n\020UserLeaveSession\020\004\022\024\n\020AdminJoinMonit" + - "or\020\005\022\024\n\020AdminExitMonitor\020\006\022\026\n\022ReplayConv" + - "ertStart\020\007\022\030\n\024ReplayConvertSuccess\020\010\022\030\n\024" + - "ReplayConvertFailure\020\t\022\025\n\021ReplayUploadSt" + - "art\020\n\022\027\n\023ReplayUploadSuccess\020\013\022\027\n\023Replay" + - "UploadFailure\020\014*k\n\nTaskAction\022\017\n\013KillSes" + - "sion\020\000\022\017\n\013LockSession\020\001\022\021\n\rUnlockSession" + - "\020\002\022\024\n\020TokenPermExpired\020\003\022\022\n\016TokenPermVal" + - "id\020\004*f\n\tRiskLevel\022\n\n\006Normal\020\000\022\013\n\007Warning" + - "\020\001\022\n\n\006Reject\020\002\022\020\n\014ReviewReject\020\003\022\020\n\014Revi" + - "ewAccept\020\004\022\020\n\014ReviewCancel\020\005B \n\023org.jump" + - "server.wispZ\t/protobufb\006proto3" + "atus\"$\n\016ConnectOptions\022\022\n\nuse_sysdba\030\001 \001" + + "(\010\"\207\004\n\rTokenAuthInfo\022\016\n\006key_id\030\001 \001(\t\022\022\n\n" + + "secrete_id\030\002 \001(\t\022\035\n\005asset\030\003 \001(\0132\016.messag" + + "e.Asset\022\033\n\004user\030\004 \001(\0132\r.message.User\022!\n\007" + + "account\030\005 \001(\0132\020.message.Account\022\'\n\npermi" + + "ssion\030\006 \001(\0132\023.message.Permission\022(\n\013expi" + + "re_info\030\007 \001(\0132\023.message.ExpireInfo\022)\n\014fi" + + "lter_rules\030\010 \003(\0132\023.message.CommandACL\022\"\n" + + "\010gateways\030\t \003(\0132\020.message.Gateway\022*\n\007set" + + "ting\030\n \001(\0132\031.message.ComponentSetting\022#\n" + + "\010platform\030\013 \001(\0132\021.message.Platform\022\030\n\020Fa" + + "ceMonitorToken\030\014 \001(\t\0224\n\022data_masking_rul" + + "es\030\r \003(\0132\030.message.DataMaskingRule\0220\n\017co" + + "nnect_options\030\016 \001(\0132\027.message.ConnectOpt" + + "ions\"\203\001\n\010Platform\022\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 " + + "\001(\t\022\020\n\010category\030\003 \001(\t\022\017\n\007charset\030\004 \001(\t\022\014" + + "\n\004type\030\005 \001(\t\022,\n\tprotocols\030\006 \003(\0132\031.messag" + + "e.PlatformProtocol\"\246\001\n\020PlatformProtocol\022" + + "\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\022" + + "9\n\010settings\030\004 \003(\0132\'.message.PlatformProt" + + "ocol.SettingsEntry\032/\n\rSettingsEntry\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"C\n\020Component" + + "Setting\022\025\n\rmax_idle_time\030\001 \001(\005\022\030\n\020max_se" + + "ssion_time\030\002 \001(\005\"1\n\007Forward\022\n\n\002id\030\001 \001(\t\022" + + "\014\n\004Host\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\"\247\001\n\rPublicSe" + + "tting\022\025\n\rxpack_enabled\030\001 \001(\010\022\025\n\rvalid_li" + + "cense\030\002 \001(\010\022\024\n\014gpt_base_url\030\003 \001(\t\022\023\n\013gpt" + + "_api_key\030\004 \001(\t\022\021\n\tgpt_proxy\030\005 \001(\t\022\021\n\tgpt" + + "_model\030\006 \001(\t\022\027\n\017license_content\030\007 \001(\t\"%\n" + + "\006Cookie\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\250\003\n" + + "\020LifecycleLogData\0223\n\005event\030\001 \001(\0162$.messa" + + "ge.LifecycleLogData.event_type\022\016\n\006reason" + + "\030\002 \001(\t\022\014\n\004user\030\003 \001(\t\"\300\002\n\nevent_type\022\027\n\023A" + + "ssetConnectSuccess\020\000\022\030\n\024AssetConnectFini" + + "shed\020\001\022\023\n\017CreateShareLink\020\002\022\023\n\017UserJoinS" + + "ession\020\003\022\024\n\020UserLeaveSession\020\004\022\024\n\020AdminJ" + + "oinMonitor\020\005\022\024\n\020AdminExitMonitor\020\006\022\026\n\022Re" + + "playConvertStart\020\007\022\030\n\024ReplayConvertSucce" + + "ss\020\010\022\030\n\024ReplayConvertFailure\020\t\022\025\n\021Replay" + + "UploadStart\020\n\022\027\n\023ReplayUploadSuccess\020\013\022\027" + + "\n\023ReplayUploadFailure\020\014*k\n\nTaskAction\022\017\n" + + "\013KillSession\020\000\022\017\n\013LockSession\020\001\022\021\n\rUnloc" + + "kSession\020\002\022\024\n\020TokenPermExpired\020\003\022\022\n\016Toke" + + "nPermValid\020\004*f\n\tRiskLevel\022\n\n\006Normal\020\000\022\013\n" + + "\007Warning\020\001\022\n\n\006Reject\020\002\022\020\n\014ReviewReject\020\003" + + "\022\020\n\014ReviewAccept\020\004\022\020\n\014ReviewCancel\020\005B \n\023" + + "org.jumpserver.wispZ\t/protobufb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -28666,20 +29308,26 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_TerminalTask_descriptor, new java.lang.String[] { "Id", "Action", "SessionId", "TerminatedBy", "CreatedBy", "TokenStatus", }); - internal_static_message_TokenAuthInfo_descriptor = + internal_static_message_ConnectOptions_descriptor = getDescriptor().getMessageTypes().get(14); + internal_static_message_ConnectOptions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_message_ConnectOptions_descriptor, + new java.lang.String[] { "UseSysdba", }); + internal_static_message_TokenAuthInfo_descriptor = + getDescriptor().getMessageTypes().get(15); internal_static_message_TokenAuthInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_TokenAuthInfo_descriptor, - new java.lang.String[] { "KeyId", "SecreteId", "Asset", "User", "Account", "Permission", "ExpireInfo", "FilterRules", "Gateways", "Setting", "Platform", "FaceMonitorToken", "DataMaskingRules", }); + new java.lang.String[] { "KeyId", "SecreteId", "Asset", "User", "Account", "Permission", "ExpireInfo", "FilterRules", "Gateways", "Setting", "Platform", "FaceMonitorToken", "DataMaskingRules", "ConnectOptions", }); internal_static_message_Platform_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(16); internal_static_message_Platform_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_Platform_descriptor, new java.lang.String[] { "Id", "Name", "Category", "Charset", "Type", "Protocols", }); internal_static_message_PlatformProtocol_descriptor = - getDescriptor().getMessageTypes().get(16); + getDescriptor().getMessageTypes().get(17); internal_static_message_PlatformProtocol_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_PlatformProtocol_descriptor, @@ -28691,31 +29339,31 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { internal_static_message_PlatformProtocol_SettingsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_message_ComponentSetting_descriptor = - getDescriptor().getMessageTypes().get(17); + getDescriptor().getMessageTypes().get(18); internal_static_message_ComponentSetting_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_ComponentSetting_descriptor, new java.lang.String[] { "MaxIdleTime", "MaxSessionTime", }); internal_static_message_Forward_descriptor = - getDescriptor().getMessageTypes().get(18); + getDescriptor().getMessageTypes().get(19); internal_static_message_Forward_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_Forward_descriptor, new java.lang.String[] { "Id", "Host", "Port", }); internal_static_message_PublicSetting_descriptor = - getDescriptor().getMessageTypes().get(19); + getDescriptor().getMessageTypes().get(20); internal_static_message_PublicSetting_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_PublicSetting_descriptor, new java.lang.String[] { "XpackEnabled", "ValidLicense", "GptBaseUrl", "GptApiKey", "GptProxy", "GptModel", "LicenseContent", }); internal_static_message_Cookie_descriptor = - getDescriptor().getMessageTypes().get(20); + getDescriptor().getMessageTypes().get(21); internal_static_message_Cookie_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_Cookie_descriptor, new java.lang.String[] { "Name", "Value", }); internal_static_message_LifecycleLogData_descriptor = - getDescriptor().getMessageTypes().get(21); + getDescriptor().getMessageTypes().get(22); internal_static_message_LifecycleLogData_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_LifecycleLogData_descriptor, diff --git a/protobuf-py/protobuf/common_pb2.py b/protobuf-py/protobuf/common_pb2.py index 13cb0e9..f1da112 100644 --- a/protobuf-py/protobuf/common_pb2.py +++ b/protobuf-py/protobuf/common_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\x07message\"e\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0c\n\x04role\x18\x04 \x01(\t\x12\x10\n\x08is_valid\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"n\n\x07\x41\x63\x63ount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\'\n\nsecretType\x18\x06 \x01(\x0b\x32\x13.message.LabelValue\"*\n\nLabelValue\x12\r\n\x05label\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xc5\x03\n\x05\x41sset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x0e\n\x06org_id\x18\x04 \x01(\t\x12\x10\n\x08org_name\x18\x05 \x01(\t\x12$\n\tprotocols\x18\x06 \x03(\x0b\x32\x11.message.Protocol\x12)\n\x08specific\x18\x07 \x01(\x0b\x32\x17.message.Asset.Specific\x1a\x9d\x02\n\x08Specific\x12\x0f\n\x07\x64\x62_name\x18\x01 \x01(\t\x12\x0f\n\x07use_ssl\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_cert\x18\x04 \x01(\t\x12\x12\n\nclient_key\x18\x05 \x01(\t\x12\x1a\n\x12\x61llow_invalid_cert\x18\x06 \x01(\x08\x12\x11\n\tauto_fill\x18\x07 \x01(\t\x12\x19\n\x11username_selector\x18\x08 \x01(\t\x12\x19\n\x11password_selector\x18\t \x01(\t\x12\x17\n\x0fsubmit_selector\x18\n \x01(\t\x12\x0e\n\x06script\x18\x0b \x01(\t\x12\x12\n\nhttp_proxy\x18\x0c \x01(\t\x12\x13\n\x0bpg_ssl_mode\x18\r \x01(\t\"2\n\x08Protocol\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\x88\x01\n\x07Gateway\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\x05\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x10\n\x08username\x18\x06 \x01(\t\x12\x10\n\x08password\x18\x07 \x01(\t\x12\x13\n\x0bprivate_key\x18\x08 \x01(\t\"\x7f\n\nPermission\x12\x16\n\x0e\x65nable_connect\x18\x01 \x01(\x08\x12\x17\n\x0f\x65nable_download\x18\x02 \x01(\x08\x12\x15\n\renable_upload\x18\x03 \x01(\x08\x12\x13\n\x0b\x65nable_copy\x18\x04 \x01(\x08\x12\x14\n\x0c\x65nable_paste\x18\x05 \x01(\x08\"\x81\x02\n\nCommandACL\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12*\n\x06\x61\x63tion\x18\x05 \x01(\x0e\x32\x1a.message.CommandACL.Action\x12\x11\n\tis_active\x18\x06 \x01(\x08\x12-\n\x0e\x63ommand_groups\x18\x07 \x03(\x0b\x32\x15.message.CommandGroup\"Y\n\x06\x41\x63tion\x12\n\n\x06Reject\x10\x00\x12\n\n\x06\x41\x63\x63\x65pt\x10\x01\x12\n\n\x06Review\x10\x02\x12\x0b\n\x07Warning\x10\x03\x12\x11\n\rNotifyWarning\x10\x04\x12\x0b\n\x07Unknown\x10\x05\"\x96\x01\n\x0f\x44\x61taMaskingRule\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12\x11\n\tis_active\x18\x04 \x01(\x08\x12\x16\n\x0emasking_method\x18\x05 \x01(\t\x12\x14\n\x0cmask_pattern\x18\x06 \x01(\t\x12\x16\n\x0e\x66ields_pattern\x18\x07 \x01(\t\"m\n\x0c\x43ommandGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x0c\n\x04Type\x18\x04 \x01(\t\x12\x0f\n\x07pattern\x18\x05 \x01(\t\x12\x13\n\x0bignore_case\x18\x06 \x01(\x08\"\x1f\n\nExpireInfo\x12\x11\n\texpire_at\x18\x01 \x01(\x03\"\xb4\x02\n\x07Session\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\r\n\x05\x61sset\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x63\x63ount\x18\x04 \x01(\t\x12.\n\nlogin_from\x18\x05 \x01(\x0e\x32\x1a.message.Session.LoginFrom\x12\x13\n\x0bremote_addr\x18\x06 \x01(\t\x12\x10\n\x08protocol\x18\x07 \x01(\t\x12\x12\n\ndate_start\x18\x08 \x01(\x03\x12\x0e\n\x06org_id\x18\t \x01(\t\x12\x0f\n\x07user_id\x18\n \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0b \x01(\t\x12\x12\n\naccount_id\x18\x0c \x01(\t\x12\x10\n\x08token_id\x18\r \x01(\t\"+\n\tLoginFrom\x12\x06\n\x02WT\x10\x00\x12\x06\n\x02ST\x10\x01\x12\x06\n\x02RT\x10\x02\x12\x06\n\x02\x44T\x10\x03\"?\n\x0bTokenStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x12\n\nis_expired\x18\x03 \x01(\x08\"\xaa\x01\n\x0cTerminalTask\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x13.message.TaskAction\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x15\n\rterminated_by\x18\x04 \x01(\t\x12\x12\n\ncreated_by\x18\x05 \x01(\t\x12*\n\x0ctoken_status\x18\x06 \x01(\x0b\x32\x14.message.TokenStatus\"\xd5\x03\n\rTokenAuthInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x12\n\nsecrete_id\x18\x02 \x01(\t\x12\x1d\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x0e.message.Asset\x12\x1b\n\x04user\x18\x04 \x01(\x0b\x32\r.message.User\x12!\n\x07\x61\x63\x63ount\x18\x05 \x01(\x0b\x32\x10.message.Account\x12\'\n\npermission\x18\x06 \x01(\x0b\x32\x13.message.Permission\x12(\n\x0b\x65xpire_info\x18\x07 \x01(\x0b\x32\x13.message.ExpireInfo\x12)\n\x0c\x66ilter_rules\x18\x08 \x03(\x0b\x32\x13.message.CommandACL\x12\"\n\x08gateways\x18\t \x03(\x0b\x32\x10.message.Gateway\x12*\n\x07setting\x18\n \x01(\x0b\x32\x19.message.ComponentSetting\x12#\n\x08platform\x18\x0b \x01(\x0b\x32\x11.message.Platform\x12\x18\n\x10\x46\x61\x63\x65MonitorToken\x18\x0c \x01(\t\x12\x34\n\x12\x64\x61ta_masking_rules\x18\r \x03(\x0b\x32\x18.message.DataMaskingRule\"\x83\x01\n\x08Platform\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x0f\n\x07\x63harset\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\t\x12,\n\tprotocols\x18\x06 \x03(\x0b\x32\x19.message.PlatformProtocol\"\xa6\x01\n\x10PlatformProtocol\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x39\n\x08settings\x18\x04 \x03(\x0b\x32\'.message.PlatformProtocol.SettingsEntry\x1a/\n\rSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x10\x43omponentSetting\x12\x15\n\rmax_idle_time\x18\x01 \x01(\x05\x12\x18\n\x10max_session_time\x18\x02 \x01(\x05\"1\n\x07\x46orward\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04Host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\xa7\x01\n\rPublicSetting\x12\x15\n\rxpack_enabled\x18\x01 \x01(\x08\x12\x15\n\rvalid_license\x18\x02 \x01(\x08\x12\x14\n\x0cgpt_base_url\x18\x03 \x01(\t\x12\x13\n\x0bgpt_api_key\x18\x04 \x01(\t\x12\x11\n\tgpt_proxy\x18\x05 \x01(\t\x12\x11\n\tgpt_model\x18\x06 \x01(\t\x12\x17\n\x0flicense_content\x18\x07 \x01(\t\"%\n\x06\x43ookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xa8\x03\n\x10LifecycleLogData\x12\x33\n\x05\x65vent\x18\x01 \x01(\x0e\x32$.message.LifecycleLogData.event_type\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0c\n\x04user\x18\x03 \x01(\t\"\xc0\x02\n\nevent_type\x12\x17\n\x13\x41ssetConnectSuccess\x10\x00\x12\x18\n\x14\x41ssetConnectFinished\x10\x01\x12\x13\n\x0f\x43reateShareLink\x10\x02\x12\x13\n\x0fUserJoinSession\x10\x03\x12\x14\n\x10UserLeaveSession\x10\x04\x12\x14\n\x10\x41\x64minJoinMonitor\x10\x05\x12\x14\n\x10\x41\x64minExitMonitor\x10\x06\x12\x16\n\x12ReplayConvertStart\x10\x07\x12\x18\n\x14ReplayConvertSuccess\x10\x08\x12\x18\n\x14ReplayConvertFailure\x10\t\x12\x15\n\x11ReplayUploadStart\x10\n\x12\x17\n\x13ReplayUploadSuccess\x10\x0b\x12\x17\n\x13ReplayUploadFailure\x10\x0c*k\n\nTaskAction\x12\x0f\n\x0bKillSession\x10\x00\x12\x0f\n\x0bLockSession\x10\x01\x12\x11\n\rUnlockSession\x10\x02\x12\x14\n\x10TokenPermExpired\x10\x03\x12\x12\n\x0eTokenPermValid\x10\x04*f\n\tRiskLevel\x12\n\n\x06Normal\x10\x00\x12\x0b\n\x07Warning\x10\x01\x12\n\n\x06Reject\x10\x02\x12\x10\n\x0cReviewReject\x10\x03\x12\x10\n\x0cReviewAccept\x10\x04\x12\x10\n\x0cReviewCancel\x10\x05\x42 \n\x13org.jumpserver.wispZ\t/protobufb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\x07message\"e\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0c\n\x04role\x18\x04 \x01(\t\x12\x10\n\x08is_valid\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"n\n\x07\x41\x63\x63ount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\'\n\nsecretType\x18\x06 \x01(\x0b\x32\x13.message.LabelValue\"*\n\nLabelValue\x12\r\n\x05label\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xc5\x03\n\x05\x41sset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x0e\n\x06org_id\x18\x04 \x01(\t\x12\x10\n\x08org_name\x18\x05 \x01(\t\x12$\n\tprotocols\x18\x06 \x03(\x0b\x32\x11.message.Protocol\x12)\n\x08specific\x18\x07 \x01(\x0b\x32\x17.message.Asset.Specific\x1a\x9d\x02\n\x08Specific\x12\x0f\n\x07\x64\x62_name\x18\x01 \x01(\t\x12\x0f\n\x07use_ssl\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_cert\x18\x04 \x01(\t\x12\x12\n\nclient_key\x18\x05 \x01(\t\x12\x1a\n\x12\x61llow_invalid_cert\x18\x06 \x01(\x08\x12\x11\n\tauto_fill\x18\x07 \x01(\t\x12\x19\n\x11username_selector\x18\x08 \x01(\t\x12\x19\n\x11password_selector\x18\t \x01(\t\x12\x17\n\x0fsubmit_selector\x18\n \x01(\t\x12\x0e\n\x06script\x18\x0b \x01(\t\x12\x12\n\nhttp_proxy\x18\x0c \x01(\t\x12\x13\n\x0bpg_ssl_mode\x18\r \x01(\t\"2\n\x08Protocol\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\x88\x01\n\x07Gateway\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\x05\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x10\n\x08username\x18\x06 \x01(\t\x12\x10\n\x08password\x18\x07 \x01(\t\x12\x13\n\x0bprivate_key\x18\x08 \x01(\t\"\x7f\n\nPermission\x12\x16\n\x0e\x65nable_connect\x18\x01 \x01(\x08\x12\x17\n\x0f\x65nable_download\x18\x02 \x01(\x08\x12\x15\n\renable_upload\x18\x03 \x01(\x08\x12\x13\n\x0b\x65nable_copy\x18\x04 \x01(\x08\x12\x14\n\x0c\x65nable_paste\x18\x05 \x01(\x08\"\x81\x02\n\nCommandACL\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12*\n\x06\x61\x63tion\x18\x05 \x01(\x0e\x32\x1a.message.CommandACL.Action\x12\x11\n\tis_active\x18\x06 \x01(\x08\x12-\n\x0e\x63ommand_groups\x18\x07 \x03(\x0b\x32\x15.message.CommandGroup\"Y\n\x06\x41\x63tion\x12\n\n\x06Reject\x10\x00\x12\n\n\x06\x41\x63\x63\x65pt\x10\x01\x12\n\n\x06Review\x10\x02\x12\x0b\n\x07Warning\x10\x03\x12\x11\n\rNotifyWarning\x10\x04\x12\x0b\n\x07Unknown\x10\x05\"\x96\x01\n\x0f\x44\x61taMaskingRule\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12\x11\n\tis_active\x18\x04 \x01(\x08\x12\x16\n\x0emasking_method\x18\x05 \x01(\t\x12\x14\n\x0cmask_pattern\x18\x06 \x01(\t\x12\x16\n\x0e\x66ields_pattern\x18\x07 \x01(\t\"m\n\x0c\x43ommandGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x0c\n\x04Type\x18\x04 \x01(\t\x12\x0f\n\x07pattern\x18\x05 \x01(\t\x12\x13\n\x0bignore_case\x18\x06 \x01(\x08\"\x1f\n\nExpireInfo\x12\x11\n\texpire_at\x18\x01 \x01(\x03\"\xb4\x02\n\x07Session\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\r\n\x05\x61sset\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x63\x63ount\x18\x04 \x01(\t\x12.\n\nlogin_from\x18\x05 \x01(\x0e\x32\x1a.message.Session.LoginFrom\x12\x13\n\x0bremote_addr\x18\x06 \x01(\t\x12\x10\n\x08protocol\x18\x07 \x01(\t\x12\x12\n\ndate_start\x18\x08 \x01(\x03\x12\x0e\n\x06org_id\x18\t \x01(\t\x12\x0f\n\x07user_id\x18\n \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0b \x01(\t\x12\x12\n\naccount_id\x18\x0c \x01(\t\x12\x10\n\x08token_id\x18\r \x01(\t\"+\n\tLoginFrom\x12\x06\n\x02WT\x10\x00\x12\x06\n\x02ST\x10\x01\x12\x06\n\x02RT\x10\x02\x12\x06\n\x02\x44T\x10\x03\"?\n\x0bTokenStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x12\n\nis_expired\x18\x03 \x01(\x08\"\xaa\x01\n\x0cTerminalTask\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x13.message.TaskAction\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x15\n\rterminated_by\x18\x04 \x01(\t\x12\x12\n\ncreated_by\x18\x05 \x01(\t\x12*\n\x0ctoken_status\x18\x06 \x01(\x0b\x32\x14.message.TokenStatus\"$\n\x0e\x43onnectOptions\x12\x12\n\nuse_sysdba\x18\x01 \x01(\x08\"\x87\x04\n\rTokenAuthInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x12\n\nsecrete_id\x18\x02 \x01(\t\x12\x1d\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x0e.message.Asset\x12\x1b\n\x04user\x18\x04 \x01(\x0b\x32\r.message.User\x12!\n\x07\x61\x63\x63ount\x18\x05 \x01(\x0b\x32\x10.message.Account\x12\'\n\npermission\x18\x06 \x01(\x0b\x32\x13.message.Permission\x12(\n\x0b\x65xpire_info\x18\x07 \x01(\x0b\x32\x13.message.ExpireInfo\x12)\n\x0c\x66ilter_rules\x18\x08 \x03(\x0b\x32\x13.message.CommandACL\x12\"\n\x08gateways\x18\t \x03(\x0b\x32\x10.message.Gateway\x12*\n\x07setting\x18\n \x01(\x0b\x32\x19.message.ComponentSetting\x12#\n\x08platform\x18\x0b \x01(\x0b\x32\x11.message.Platform\x12\x18\n\x10\x46\x61\x63\x65MonitorToken\x18\x0c \x01(\t\x12\x34\n\x12\x64\x61ta_masking_rules\x18\r \x03(\x0b\x32\x18.message.DataMaskingRule\x12\x30\n\x0f\x63onnect_options\x18\x0e \x01(\x0b\x32\x17.message.ConnectOptions\"\x83\x01\n\x08Platform\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x0f\n\x07\x63harset\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\t\x12,\n\tprotocols\x18\x06 \x03(\x0b\x32\x19.message.PlatformProtocol\"\xa6\x01\n\x10PlatformProtocol\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x39\n\x08settings\x18\x04 \x03(\x0b\x32\'.message.PlatformProtocol.SettingsEntry\x1a/\n\rSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x10\x43omponentSetting\x12\x15\n\rmax_idle_time\x18\x01 \x01(\x05\x12\x18\n\x10max_session_time\x18\x02 \x01(\x05\"1\n\x07\x46orward\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04Host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\xa7\x01\n\rPublicSetting\x12\x15\n\rxpack_enabled\x18\x01 \x01(\x08\x12\x15\n\rvalid_license\x18\x02 \x01(\x08\x12\x14\n\x0cgpt_base_url\x18\x03 \x01(\t\x12\x13\n\x0bgpt_api_key\x18\x04 \x01(\t\x12\x11\n\tgpt_proxy\x18\x05 \x01(\t\x12\x11\n\tgpt_model\x18\x06 \x01(\t\x12\x17\n\x0flicense_content\x18\x07 \x01(\t\"%\n\x06\x43ookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xa8\x03\n\x10LifecycleLogData\x12\x33\n\x05\x65vent\x18\x01 \x01(\x0e\x32$.message.LifecycleLogData.event_type\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0c\n\x04user\x18\x03 \x01(\t\"\xc0\x02\n\nevent_type\x12\x17\n\x13\x41ssetConnectSuccess\x10\x00\x12\x18\n\x14\x41ssetConnectFinished\x10\x01\x12\x13\n\x0f\x43reateShareLink\x10\x02\x12\x13\n\x0fUserJoinSession\x10\x03\x12\x14\n\x10UserLeaveSession\x10\x04\x12\x14\n\x10\x41\x64minJoinMonitor\x10\x05\x12\x14\n\x10\x41\x64minExitMonitor\x10\x06\x12\x16\n\x12ReplayConvertStart\x10\x07\x12\x18\n\x14ReplayConvertSuccess\x10\x08\x12\x18\n\x14ReplayConvertFailure\x10\t\x12\x15\n\x11ReplayUploadStart\x10\n\x12\x17\n\x13ReplayUploadSuccess\x10\x0b\x12\x17\n\x13ReplayUploadFailure\x10\x0c*k\n\nTaskAction\x12\x0f\n\x0bKillSession\x10\x00\x12\x0f\n\x0bLockSession\x10\x01\x12\x11\n\rUnlockSession\x10\x02\x12\x14\n\x10TokenPermExpired\x10\x03\x12\x12\n\x0eTokenPermValid\x10\x04*f\n\tRiskLevel\x12\n\n\x06Normal\x10\x00\x12\x0b\n\x07Warning\x10\x01\x12\n\n\x06Reject\x10\x02\x12\x10\n\x0cReviewReject\x10\x03\x12\x10\n\x0cReviewAccept\x10\x04\x12\x10\n\x0cReviewCancel\x10\x05\x42 \n\x13org.jumpserver.wispZ\t/protobufb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,10 +34,10 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\023org.jumpserver.wispZ\t/protobuf' _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._loaded_options = None _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_options = b'8\001' - _globals['_TASKACTION']._serialized_start=3697 - _globals['_TASKACTION']._serialized_end=3804 - _globals['_RISKLEVEL']._serialized_start=3806 - _globals['_RISKLEVEL']._serialized_end=3908 + _globals['_TASKACTION']._serialized_start=3785 + _globals['_TASKACTION']._serialized_end=3892 + _globals['_RISKLEVEL']._serialized_start=3894 + _globals['_RISKLEVEL']._serialized_end=3996 _globals['_USER']._serialized_start=25 _globals['_USER']._serialized_end=126 _globals['_ACCOUNT']._serialized_start=128 @@ -72,24 +72,26 @@ _globals['_TOKENSTATUS']._serialized_end=1991 _globals['_TERMINALTASK']._serialized_start=1994 _globals['_TERMINALTASK']._serialized_end=2164 - _globals['_TOKENAUTHINFO']._serialized_start=2167 - _globals['_TOKENAUTHINFO']._serialized_end=2636 - _globals['_PLATFORM']._serialized_start=2639 - _globals['_PLATFORM']._serialized_end=2770 - _globals['_PLATFORMPROTOCOL']._serialized_start=2773 - _globals['_PLATFORMPROTOCOL']._serialized_end=2939 - _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_start=2892 - _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_end=2939 - _globals['_COMPONENTSETTING']._serialized_start=2941 - _globals['_COMPONENTSETTING']._serialized_end=3008 - _globals['_FORWARD']._serialized_start=3010 - _globals['_FORWARD']._serialized_end=3059 - _globals['_PUBLICSETTING']._serialized_start=3062 - _globals['_PUBLICSETTING']._serialized_end=3229 - _globals['_COOKIE']._serialized_start=3231 - _globals['_COOKIE']._serialized_end=3268 - _globals['_LIFECYCLELOGDATA']._serialized_start=3271 - _globals['_LIFECYCLELOGDATA']._serialized_end=3695 - _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_start=3375 - _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_end=3695 + _globals['_CONNECTOPTIONS']._serialized_start=2166 + _globals['_CONNECTOPTIONS']._serialized_end=2202 + _globals['_TOKENAUTHINFO']._serialized_start=2205 + _globals['_TOKENAUTHINFO']._serialized_end=2724 + _globals['_PLATFORM']._serialized_start=2727 + _globals['_PLATFORM']._serialized_end=2858 + _globals['_PLATFORMPROTOCOL']._serialized_start=2861 + _globals['_PLATFORMPROTOCOL']._serialized_end=3027 + _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_start=2980 + _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_end=3027 + _globals['_COMPONENTSETTING']._serialized_start=3029 + _globals['_COMPONENTSETTING']._serialized_end=3096 + _globals['_FORWARD']._serialized_start=3098 + _globals['_FORWARD']._serialized_end=3147 + _globals['_PUBLICSETTING']._serialized_start=3150 + _globals['_PUBLICSETTING']._serialized_end=3317 + _globals['_COOKIE']._serialized_start=3319 + _globals['_COOKIE']._serialized_end=3356 + _globals['_LIFECYCLELOGDATA']._serialized_start=3359 + _globals['_LIFECYCLELOGDATA']._serialized_end=3783 + _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_start=3463 + _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_end=3783 # @@protoc_insertion_point(module_scope) diff --git a/protobuf-py/protobuf/common_pb2.pyi b/protobuf-py/protobuf/common_pb2.pyi index 016e0a3..5f3b543 100644 --- a/protobuf-py/protobuf/common_pb2.pyi +++ b/protobuf-py/protobuf/common_pb2.pyi @@ -299,8 +299,14 @@ class TerminalTask(_message.Message): token_status: TokenStatus def __init__(self, id: _Optional[str] = ..., action: _Optional[_Union[TaskAction, str]] = ..., session_id: _Optional[str] = ..., terminated_by: _Optional[str] = ..., created_by: _Optional[str] = ..., token_status: _Optional[_Union[TokenStatus, _Mapping]] = ...) -> None: ... +class ConnectOptions(_message.Message): + __slots__ = ("use_sysdba",) + USE_SYSDBA_FIELD_NUMBER: _ClassVar[int] + use_sysdba: bool + def __init__(self, use_sysdba: bool = ...) -> None: ... + class TokenAuthInfo(_message.Message): - __slots__ = ("key_id", "secrete_id", "asset", "user", "account", "permission", "expire_info", "filter_rules", "gateways", "setting", "platform", "FaceMonitorToken", "data_masking_rules") + __slots__ = ("key_id", "secrete_id", "asset", "user", "account", "permission", "expire_info", "filter_rules", "gateways", "setting", "platform", "FaceMonitorToken", "data_masking_rules", "connect_options") KEY_ID_FIELD_NUMBER: _ClassVar[int] SECRETE_ID_FIELD_NUMBER: _ClassVar[int] ASSET_FIELD_NUMBER: _ClassVar[int] @@ -314,6 +320,7 @@ class TokenAuthInfo(_message.Message): PLATFORM_FIELD_NUMBER: _ClassVar[int] FACEMONITORTOKEN_FIELD_NUMBER: _ClassVar[int] DATA_MASKING_RULES_FIELD_NUMBER: _ClassVar[int] + CONNECT_OPTIONS_FIELD_NUMBER: _ClassVar[int] key_id: str secrete_id: str asset: Asset @@ -327,7 +334,8 @@ class TokenAuthInfo(_message.Message): platform: Platform FaceMonitorToken: str data_masking_rules: _containers.RepeatedCompositeFieldContainer[DataMaskingRule] - def __init__(self, key_id: _Optional[str] = ..., secrete_id: _Optional[str] = ..., asset: _Optional[_Union[Asset, _Mapping]] = ..., user: _Optional[_Union[User, _Mapping]] = ..., account: _Optional[_Union[Account, _Mapping]] = ..., permission: _Optional[_Union[Permission, _Mapping]] = ..., expire_info: _Optional[_Union[ExpireInfo, _Mapping]] = ..., filter_rules: _Optional[_Iterable[_Union[CommandACL, _Mapping]]] = ..., gateways: _Optional[_Iterable[_Union[Gateway, _Mapping]]] = ..., setting: _Optional[_Union[ComponentSetting, _Mapping]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., FaceMonitorToken: _Optional[str] = ..., data_masking_rules: _Optional[_Iterable[_Union[DataMaskingRule, _Mapping]]] = ...) -> None: ... + connect_options: ConnectOptions + def __init__(self, key_id: _Optional[str] = ..., secrete_id: _Optional[str] = ..., asset: _Optional[_Union[Asset, _Mapping]] = ..., user: _Optional[_Union[User, _Mapping]] = ..., account: _Optional[_Union[Account, _Mapping]] = ..., permission: _Optional[_Union[Permission, _Mapping]] = ..., expire_info: _Optional[_Union[ExpireInfo, _Mapping]] = ..., filter_rules: _Optional[_Iterable[_Union[CommandACL, _Mapping]]] = ..., gateways: _Optional[_Iterable[_Union[Gateway, _Mapping]]] = ..., setting: _Optional[_Union[ComponentSetting, _Mapping]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., FaceMonitorToken: _Optional[str] = ..., data_masking_rules: _Optional[_Iterable[_Union[DataMaskingRule, _Mapping]]] = ..., connect_options: _Optional[_Union[ConnectOptions, _Mapping]] = ...) -> None: ... class Platform(_message.Message): __slots__ = ("id", "name", "category", "charset", "type", "protocols") diff --git a/protobuf-rs/message.rs b/protobuf-rs/message.rs index 2b5d6e6..b1f4b0d 100644 --- a/protobuf-rs/message.rs +++ b/protobuf-rs/message.rs @@ -306,6 +306,11 @@ pub struct TerminalTask { #[prost(message, optional, tag="6")] pub token_status: ::core::option::Option, } +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ConnectOptions { + #[prost(bool, tag="1")] + pub use_sysdba: bool, +} #[derive(Clone, PartialEq, ::prost::Message)] pub struct TokenAuthInfo { #[prost(string, tag="1")] @@ -334,6 +339,8 @@ pub struct TokenAuthInfo { pub face_monitor_token: ::prost::alloc::string::String, #[prost(message, repeated, tag="13")] pub data_masking_rules: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag="14")] + pub connect_options: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct Platform { diff --git a/protos/common.proto b/protos/common.proto index b734874..b7399cd 100644 --- a/protos/common.proto +++ b/protos/common.proto @@ -172,6 +172,10 @@ enum RiskLevel { ReviewCancel = 5; } +message ConnectOptions { + bool use_sysdba = 1; +} + message TokenAuthInfo { string key_id = 1; string secrete_id = 2; @@ -186,6 +190,7 @@ message TokenAuthInfo { Platform platform = 11; string FaceMonitorToken = 12; repeated DataMaskingRule data_masking_rules=13; + ConnectOptions connect_options = 14; } message Platform { @@ -249,4 +254,4 @@ message LifecycleLogData { event_type event = 1; string reason = 2; string user = 3; -} \ No newline at end of file +} From 3dc958c72f2637c2df057f77cac40b436e67e21d Mon Sep 17 00:00:00 2001 From: "Crane.z" <1481445951@qq.com> Date: Fri, 21 Aug 2026 17:06:13 +0800 Subject: [PATCH 2/2] refactor(protocol): forward generic connect options --- cmd/impl/convert_pb.go | 21 +- go.mod | 2 +- go.sum | 6 +- protobuf-go/protobuf/common.pb.go | 348 +++++++------- protobuf-java/org/jumpserver/wisp/Common.java | 444 ++++++++++++++---- protobuf-py/protobuf/common_pb2.py | 56 ++- protobuf-py/protobuf/common_pb2.pyi | 15 +- protobuf-rs/message.rs | 6 +- protos/common.proto | 2 +- 9 files changed, 595 insertions(+), 305 deletions(-) diff --git a/cmd/impl/convert_pb.go b/cmd/impl/convert_pb.go index b648ade..a0651c0 100644 --- a/cmd/impl/convert_pb.go +++ b/cmd/impl/convert_pb.go @@ -1,6 +1,7 @@ package impl import ( + "encoding/json" "fmt" "sort" "strconv" @@ -244,7 +245,25 @@ func ConvertToPbSetting(setting *model.TerminalConfig) *pb.ComponentSetting { } func ConvertToPbConnectOptions(options model.ConnectOptions) *pb.ConnectOptions { - return &pb.ConnectOptions{UseSysdba: options.UseSysDBA} + settings := make(map[string]string) + data, err := json.Marshal(options) + if err != nil { + return &pb.ConnectOptions{Settings: settings} + } + rawOptions := make(map[string]json.RawMessage) + if err = json.Unmarshal(data, &rawOptions); err != nil { + return &pb.ConnectOptions{Settings: settings} + } + settings = make(map[string]string, len(rawOptions)) + for key, value := range rawOptions { + var stringValue string + if err := json.Unmarshal(value, &stringValue); err == nil { + settings[key] = stringValue + continue + } + settings[key] = string(value) + } + return &pb.ConnectOptions{Settings: settings} } func ConvertToPbPlatform(platform *model.Platform) *pb.Platform { diff --git a/go.mod b/go.mod index 268bd92..efff31c 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.24.6 require ( github.com/gorilla/websocket v1.5.3 - github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d + github.com/jumpserver-dev/sdk-go v0.0.0-20260821083952-82cf2e23d207 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.10.1 github.com/spf13/viper v1.21.0 diff --git a/go.sum b/go.sum index 0ec1183..de30d9f 100644 --- a/go.sum +++ b/go.sum @@ -72,10 +72,8 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= -github.com/jumpserver-dev/sdk-go v0.0.0-20260727030641-b0cef8e97370 h1:6QDjMGSy908FCCaJsr1dqSECV51ZskWK5n/Glb4dsH8= -github.com/jumpserver-dev/sdk-go v0.0.0-20260727030641-b0cef8e97370/go.mod h1:QmnL7BRb74/XY1nu8kWQWs6DHXt3uIaWkDCkQSRyZlM= -github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d h1:oNOuExZJ/KL5lnn8y5duKYF6LrUp7lK/5DHKTPxyI/8= -github.com/jumpserver-dev/sdk-go v0.0.0-20260821024754-b30076cff41d/go.mod h1:QmnL7BRb74/XY1nu8kWQWs6DHXt3uIaWkDCkQSRyZlM= +github.com/jumpserver-dev/sdk-go v0.0.0-20260821083952-82cf2e23d207 h1:hbYIaxsxF47XyTGRxxKt74lmPaGjjNlYBomnaSEhnR8= +github.com/jumpserver-dev/sdk-go v0.0.0-20260821083952-82cf2e23d207/go.mod h1:QmnL7BRb74/XY1nu8kWQWs6DHXt3uIaWkDCkQSRyZlM= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= diff --git a/protobuf-go/protobuf/common.pb.go b/protobuf-go/protobuf/common.pb.go index 614b002..b3cf8ab 100644 --- a/protobuf-go/protobuf/common.pb.go +++ b/protobuf-go/protobuf/common.pb.go @@ -1497,7 +1497,7 @@ type ConnectOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UseSysdba bool `protobuf:"varint,1,opt,name=use_sysdba,json=useSysdba,proto3" json:"use_sysdba,omitempty"` + Settings map[string]string `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ConnectOptions) Reset() { @@ -1532,11 +1532,11 @@ func (*ConnectOptions) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{14} } -func (x *ConnectOptions) GetUseSysdba() bool { +func (x *ConnectOptions) GetSettings() map[string]string { if x != nil { - return x.UseSysdba + return x.Settings } - return false + return nil } type TokenAuthInfo struct { @@ -2513,150 +2513,156 @@ var file_common_proto_rawDesc = []byte{ 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x2f, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x64, - 0x62, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x53, 0x79, 0x73, - 0x64, 0x62, 0x61, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0c, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x41, 0x43, 0x4c, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x73, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x46, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, 0x6b, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x73, - 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, - 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, - 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, - 0xcc, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x08, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x60, - 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, - 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x41, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, - 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x78, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x78, 0x70, - 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x67, 0x70, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x70, 0x74, 0x42, 0x61, 0x73, 0x65, 0x55, 0x72, - 0x6c, 0x12, 0x1e, 0x0a, 0x0b, 0x67, 0x70, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x70, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1b, - 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x66, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc0, 0x02, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x14, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x55, 0x73, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, - 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x14, 0x0a, - 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x09, 0x12, - 0x15, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x0b, 0x12, - 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x0c, 0x2a, 0x6b, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x6b, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x10, 0x04, 0x2a, 0x66, 0x0a, 0x09, 0x52, 0x69, 0x73, 0x6b, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x05, 0x42, 0x20, 0x0a, - 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x77, 0x69, 0x73, 0x70, 0x5a, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, + 0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, + 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x43, 0x4c, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, + 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x4d, + 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x01, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, + 0x61, 0x72, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, + 0x72, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x43, + 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x60, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, + 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x48, 0x6f, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x78, 0x70, 0x61, 0x63, 0x6b, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x78, 0x70, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x70, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x70, 0x74, 0x42, 0x61, 0x73, 0x65, + 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0b, 0x67, 0x70, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x70, 0x74, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x27, 0x0a, + 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x03, 0x0a, 0x10, 0x4c, + 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x3a, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc0, 0x02, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x02, 0x12, 0x13, + 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, + 0x14, 0x0a, 0x10, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, + 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, + 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, + 0x09, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, + 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x0c, 0x2a, 0x6b, 0x0a, 0x0a, 0x54, 0x61, + 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, + 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, + 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x64, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x04, 0x2a, 0x66, 0x0a, 0x09, 0x52, 0x69, 0x73, 0x6b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0x04, 0x12, 0x10, 0x0a, + 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x05, 0x42, + 0x20, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x77, 0x69, 0x73, 0x70, 0x5a, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2672,7 +2678,7 @@ func file_common_proto_rawDescGZIP() []byte { } var file_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_common_proto_goTypes = []interface{}{ (TaskAction)(0), // 0: message.TaskAction (RiskLevel)(0), // 1: message.RiskLevel @@ -2703,7 +2709,8 @@ var file_common_proto_goTypes = []interface{}{ (*Cookie)(nil), // 26: message.Cookie (*LifecycleLogData)(nil), // 27: message.LifecycleLogData (*Asset_Specific)(nil), // 28: message.Asset.Specific - nil, // 29: message.PlatformProtocol.SettingsEntry + nil, // 29: message.ConnectOptions.SettingsEntry + nil, // 30: message.PlatformProtocol.SettingsEntry } var file_common_proto_depIdxs = []int32{ 7, // 0: message.Account.secretType:type_name -> message.LabelValue @@ -2714,25 +2721,26 @@ var file_common_proto_depIdxs = []int32{ 3, // 5: message.Session.login_from:type_name -> message.Session.LoginFrom 0, // 6: message.TerminalTask.action:type_name -> message.TaskAction 17, // 7: message.TerminalTask.token_status:type_name -> message.TokenStatus - 8, // 8: message.TokenAuthInfo.asset:type_name -> message.Asset - 5, // 9: message.TokenAuthInfo.user:type_name -> message.User - 6, // 10: message.TokenAuthInfo.account:type_name -> message.Account - 11, // 11: message.TokenAuthInfo.permission:type_name -> message.Permission - 15, // 12: message.TokenAuthInfo.expire_info:type_name -> message.ExpireInfo - 12, // 13: message.TokenAuthInfo.filter_rules:type_name -> message.CommandACL - 10, // 14: message.TokenAuthInfo.gateways:type_name -> message.Gateway - 23, // 15: message.TokenAuthInfo.setting:type_name -> message.ComponentSetting - 21, // 16: message.TokenAuthInfo.platform:type_name -> message.Platform - 13, // 17: message.TokenAuthInfo.data_masking_rules:type_name -> message.DataMaskingRule - 19, // 18: message.TokenAuthInfo.connect_options:type_name -> message.ConnectOptions - 22, // 19: message.Platform.protocols:type_name -> message.PlatformProtocol - 29, // 20: message.PlatformProtocol.settings:type_name -> message.PlatformProtocol.SettingsEntry - 4, // 21: message.LifecycleLogData.event:type_name -> message.LifecycleLogData.event_type - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 29, // 8: message.ConnectOptions.settings:type_name -> message.ConnectOptions.SettingsEntry + 8, // 9: message.TokenAuthInfo.asset:type_name -> message.Asset + 5, // 10: message.TokenAuthInfo.user:type_name -> message.User + 6, // 11: message.TokenAuthInfo.account:type_name -> message.Account + 11, // 12: message.TokenAuthInfo.permission:type_name -> message.Permission + 15, // 13: message.TokenAuthInfo.expire_info:type_name -> message.ExpireInfo + 12, // 14: message.TokenAuthInfo.filter_rules:type_name -> message.CommandACL + 10, // 15: message.TokenAuthInfo.gateways:type_name -> message.Gateway + 23, // 16: message.TokenAuthInfo.setting:type_name -> message.ComponentSetting + 21, // 17: message.TokenAuthInfo.platform:type_name -> message.Platform + 13, // 18: message.TokenAuthInfo.data_masking_rules:type_name -> message.DataMaskingRule + 19, // 19: message.TokenAuthInfo.connect_options:type_name -> message.ConnectOptions + 22, // 20: message.Platform.protocols:type_name -> message.PlatformProtocol + 30, // 21: message.PlatformProtocol.settings:type_name -> message.PlatformProtocol.SettingsEntry + 4, // 22: message.LifecycleLogData.event:type_name -> message.LifecycleLogData.event_type + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_common_proto_init() } @@ -3036,7 +3044,7 @@ func file_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 5, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/protobuf-java/org/jumpserver/wisp/Common.java b/protobuf-java/org/jumpserver/wisp/Common.java index 51a5039..2370b07 100644 --- a/protobuf-java/org/jumpserver/wisp/Common.java +++ b/protobuf-java/org/jumpserver/wisp/Common.java @@ -18515,10 +18515,38 @@ public interface ConnectOptionsOrBuilder extends com.google.protobuf.MessageOrBuilder { /** - * bool use_sysdba = 1; - * @return The useSysdba. + * map<string, string> settings = 1; */ - boolean getUseSysdba(); + int getSettingsCount(); + /** + * map<string, string> settings = 1; + */ + boolean containsSettings( + java.lang.String key); + /** + * Use {@link #getSettingsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getSettings(); + /** + * map<string, string> settings = 1; + */ + java.util.Map + getSettingsMap(); + /** + * map<string, string> settings = 1; + */ + /* nullable */ +java.lang.String getSettingsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue); + /** + * map<string, string> settings = 1; + */ + java.lang.String getSettingsOrThrow( + java.lang.String key); } /** * Protobuf type {@code message.ConnectOptions} @@ -18549,6 +18577,18 @@ private ConnectOptions() { return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 1: + return internalGetSettings(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { @@ -18557,15 +18597,83 @@ private ConnectOptions() { org.jumpserver.wisp.Common.ConnectOptions.class, org.jumpserver.wisp.Common.ConnectOptions.Builder.class); } - public static final int USE_SYSDBA_FIELD_NUMBER = 1; - private boolean useSysdba_ = false; + public static final int SETTINGS_FIELD_NUMBER = 1; + private static final class SettingsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_SettingsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + @SuppressWarnings("serial") + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> settings_; + private com.google.protobuf.MapField + internalGetSettings() { + if (settings_ == null) { + return com.google.protobuf.MapField.emptyMapField( + SettingsDefaultEntryHolder.defaultEntry); + } + return settings_; + } + public int getSettingsCount() { + return internalGetSettings().getMap().size(); + } /** - * bool use_sysdba = 1; - * @return The useSysdba. + * map<string, string> settings = 1; */ @java.lang.Override - public boolean getUseSysdba() { - return useSysdba_; + public boolean containsSettings( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetSettings().getMap().containsKey(key); + } + /** + * Use {@link #getSettingsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getSettings() { + return getSettingsMap(); + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public java.util.Map getSettingsMap() { + return internalGetSettings().getMap(); + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public /* nullable */ +java.lang.String getSettingsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetSettings().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public java.lang.String getSettingsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetSettings().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -18582,9 +18690,12 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (useSysdba_ != false) { - output.writeBool(1, useSysdba_); - } + com.google.protobuf.GeneratedMessage + .serializeStringMapTo( + output, + internalGetSettings(), + SettingsDefaultEntryHolder.defaultEntry, + 1); getUnknownFields().writeTo(output); } @@ -18594,9 +18705,15 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (useSysdba_ != false) { + for (java.util.Map.Entry entry + : internalGetSettings().getMap().entrySet()) { + com.google.protobuf.MapEntry + settings__ = SettingsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); size += com.google.protobuf.CodedOutputStream - .computeBoolSize(1, useSysdba_); + .computeMessageSize(1, settings__); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; @@ -18613,8 +18730,8 @@ public boolean equals(final java.lang.Object obj) { } org.jumpserver.wisp.Common.ConnectOptions other = (org.jumpserver.wisp.Common.ConnectOptions) obj; - if (getUseSysdba() - != other.getUseSysdba()) return false; + if (!internalGetSettings().equals( + other.internalGetSettings())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -18626,9 +18743,10 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + USE_SYSDBA_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getUseSysdba()); + if (!internalGetSettings().getMap().isEmpty()) { + hash = (37 * hash) + SETTINGS_FIELD_NUMBER; + hash = (53 * hash) + internalGetSettings().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -18738,6 +18856,28 @@ public static final class Builder extends return org.jumpserver.wisp.Common.internal_static_message_ConnectOptions_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 1: + return internalGetSettings(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 1: + return internalGetMutableSettings(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { @@ -18760,7 +18900,7 @@ private Builder( public Builder clear() { super.clear(); bitField0_ = 0; - useSysdba_ = false; + internalGetMutableSettings().clear(); return this; } @@ -18795,7 +18935,8 @@ public org.jumpserver.wisp.Common.ConnectOptions buildPartial() { private void buildPartial0(org.jumpserver.wisp.Common.ConnectOptions result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { - result.useSysdba_ = useSysdba_; + result.settings_ = internalGetSettings(); + result.settings_.makeImmutable(); } } @@ -18811,9 +18952,9 @@ public Builder mergeFrom(com.google.protobuf.Message other) { public Builder mergeFrom(org.jumpserver.wisp.Common.ConnectOptions other) { if (other == org.jumpserver.wisp.Common.ConnectOptions.getDefaultInstance()) return this; - if (other.getUseSysdba() != false) { - setUseSysdba(other.getUseSysdba()); - } + internalGetMutableSettings().mergeFrom( + other.internalGetSettings()); + bitField0_ |= 0x00000001; this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -18840,11 +18981,15 @@ public Builder mergeFrom( case 0: done = true; break; - case 8: { - useSysdba_ = input.readBool(); + case 10: { + com.google.protobuf.MapEntry + settings__ = input.readMessage( + SettingsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + internalGetMutableSettings().getMutableMap().put( + settings__.getKey(), settings__.getValue()); bitField0_ |= 0x00000001; break; - } // case 8 + } // case 10 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -18862,35 +19007,130 @@ public Builder mergeFrom( } private int bitField0_; - private boolean useSysdba_ ; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> settings_; + private com.google.protobuf.MapField + internalGetSettings() { + if (settings_ == null) { + return com.google.protobuf.MapField.emptyMapField( + SettingsDefaultEntryHolder.defaultEntry); + } + return settings_; + } + private com.google.protobuf.MapField + internalGetMutableSettings() { + if (settings_ == null) { + settings_ = com.google.protobuf.MapField.newMapField( + SettingsDefaultEntryHolder.defaultEntry); + } + if (!settings_.isMutable()) { + settings_ = settings_.copy(); + } + bitField0_ |= 0x00000001; + onChanged(); + return settings_; + } + public int getSettingsCount() { + return internalGetSettings().getMap().size(); + } /** - * bool use_sysdba = 1; - * @return The useSysdba. + * map<string, string> settings = 1; */ @java.lang.Override - public boolean getUseSysdba() { - return useSysdba_; + public boolean containsSettings( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + return internalGetSettings().getMap().containsKey(key); } /** - * bool use_sysdba = 1; - * @param value The useSysdba to set. - * @return This builder for chaining. + * Use {@link #getSettingsMap()} instead. */ - public Builder setUseSysdba(boolean value) { - - useSysdba_ = value; + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getSettings() { + return getSettingsMap(); + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public java.util.Map getSettingsMap() { + return internalGetSettings().getMap(); + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public /* nullable */ +java.lang.String getSettingsOrDefault( + java.lang.String key, + /* nullable */ +java.lang.String defaultValue) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetSettings().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * map<string, string> settings = 1; + */ + @java.lang.Override + public java.lang.String getSettingsOrThrow( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + java.util.Map map = + internalGetSettings().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + public Builder clearSettings() { + bitField0_ = (bitField0_ & ~0x00000001); + internalGetMutableSettings().getMutableMap() + .clear(); + return this; + } + /** + * map<string, string> settings = 1; + */ + public Builder removeSettings( + java.lang.String key) { + if (key == null) { throw new NullPointerException("map key"); } + internalGetMutableSettings().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableSettings() { + bitField0_ |= 0x00000001; + return internalGetMutableSettings().getMutableMap(); + } + /** + * map<string, string> settings = 1; + */ + public Builder putSettings( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new NullPointerException("map key"); } + if (value == null) { throw new NullPointerException("map value"); } + internalGetMutableSettings().getMutableMap() + .put(key, value); bitField0_ |= 0x00000001; - onChanged(); return this; } /** - * bool use_sysdba = 1; - * @return This builder for chaining. + * map<string, string> settings = 1; */ - public Builder clearUseSysdba() { - bitField0_ = (bitField0_ & ~0x00000001); - useSysdba_ = false; - onChanged(); + public Builder putAllSettings( + java.util.Map values) { + internalGetMutableSettings().getMutableMap() + .putAll(values); + bitField0_ |= 0x00000001; return this; } @@ -28990,12 +29230,12 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { internal_static_message_Account_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_LabelValue_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_LabelValue_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_Asset_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_Asset_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor @@ -29058,6 +29298,11 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_message_ConnectOptions_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_message_ConnectOptions_SettingsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_message_ConnectOptions_SettingsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_message_TokenAuthInfo_descriptor; private static final @@ -29166,53 +29411,56 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { "essage.TaskAction\022\022\n\nsession_id\030\003 \001(\t\022\025\n" + "\rterminated_by\030\004 \001(\t\022\022\n\ncreated_by\030\005 \001(\t" + "\022*\n\014token_status\030\006 \001(\0132\024.message.TokenSt" + - "atus\"$\n\016ConnectOptions\022\022\n\nuse_sysdba\030\001 \001" + - "(\010\"\207\004\n\rTokenAuthInfo\022\016\n\006key_id\030\001 \001(\t\022\022\n\n" + - "secrete_id\030\002 \001(\t\022\035\n\005asset\030\003 \001(\0132\016.messag" + - "e.Asset\022\033\n\004user\030\004 \001(\0132\r.message.User\022!\n\007" + - "account\030\005 \001(\0132\020.message.Account\022\'\n\npermi" + - "ssion\030\006 \001(\0132\023.message.Permission\022(\n\013expi" + - "re_info\030\007 \001(\0132\023.message.ExpireInfo\022)\n\014fi" + - "lter_rules\030\010 \003(\0132\023.message.CommandACL\022\"\n" + - "\010gateways\030\t \003(\0132\020.message.Gateway\022*\n\007set" + - "ting\030\n \001(\0132\031.message.ComponentSetting\022#\n" + - "\010platform\030\013 \001(\0132\021.message.Platform\022\030\n\020Fa" + - "ceMonitorToken\030\014 \001(\t\0224\n\022data_masking_rul" + - "es\030\r \003(\0132\030.message.DataMaskingRule\0220\n\017co" + - "nnect_options\030\016 \001(\0132\027.message.ConnectOpt" + - "ions\"\203\001\n\010Platform\022\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 " + - "\001(\t\022\020\n\010category\030\003 \001(\t\022\017\n\007charset\030\004 \001(\t\022\014" + - "\n\004type\030\005 \001(\t\022,\n\tprotocols\030\006 \003(\0132\031.messag" + - "e.PlatformProtocol\"\246\001\n\020PlatformProtocol\022" + - "\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\022" + - "9\n\010settings\030\004 \003(\0132\'.message.PlatformProt" + - "ocol.SettingsEntry\032/\n\rSettingsEntry\022\013\n\003k" + - "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"C\n\020Component" + - "Setting\022\025\n\rmax_idle_time\030\001 \001(\005\022\030\n\020max_se" + - "ssion_time\030\002 \001(\005\"1\n\007Forward\022\n\n\002id\030\001 \001(\t\022" + - "\014\n\004Host\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\"\247\001\n\rPublicSe" + - "tting\022\025\n\rxpack_enabled\030\001 \001(\010\022\025\n\rvalid_li" + - "cense\030\002 \001(\010\022\024\n\014gpt_base_url\030\003 \001(\t\022\023\n\013gpt" + - "_api_key\030\004 \001(\t\022\021\n\tgpt_proxy\030\005 \001(\t\022\021\n\tgpt" + - "_model\030\006 \001(\t\022\027\n\017license_content\030\007 \001(\t\"%\n" + - "\006Cookie\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\250\003\n" + - "\020LifecycleLogData\0223\n\005event\030\001 \001(\0162$.messa" + - "ge.LifecycleLogData.event_type\022\016\n\006reason" + - "\030\002 \001(\t\022\014\n\004user\030\003 \001(\t\"\300\002\n\nevent_type\022\027\n\023A" + - "ssetConnectSuccess\020\000\022\030\n\024AssetConnectFini" + - "shed\020\001\022\023\n\017CreateShareLink\020\002\022\023\n\017UserJoinS" + - "ession\020\003\022\024\n\020UserLeaveSession\020\004\022\024\n\020AdminJ" + - "oinMonitor\020\005\022\024\n\020AdminExitMonitor\020\006\022\026\n\022Re" + - "playConvertStart\020\007\022\030\n\024ReplayConvertSucce" + - "ss\020\010\022\030\n\024ReplayConvertFailure\020\t\022\025\n\021Replay" + - "UploadStart\020\n\022\027\n\023ReplayUploadSuccess\020\013\022\027" + - "\n\023ReplayUploadFailure\020\014*k\n\nTaskAction\022\017\n" + - "\013KillSession\020\000\022\017\n\013LockSession\020\001\022\021\n\rUnloc" + - "kSession\020\002\022\024\n\020TokenPermExpired\020\003\022\022\n\016Toke" + - "nPermValid\020\004*f\n\tRiskLevel\022\n\n\006Normal\020\000\022\013\n" + - "\007Warning\020\001\022\n\n\006Reject\020\002\022\020\n\014ReviewReject\020\003" + - "\022\020\n\014ReviewAccept\020\004\022\020\n\014ReviewCancel\020\005B \n\023" + - "org.jumpserver.wispZ\t/protobufb\006proto3" + "atus\"z\n\016ConnectOptions\0227\n\010settings\030\001 \003(\013" + + "2%.message.ConnectOptions.SettingsEntry\032" + + "/\n\rSettingsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + + " \001(\t:\0028\001\"\207\004\n\rTokenAuthInfo\022\016\n\006key_id\030\001 \001" + + "(\t\022\022\n\nsecrete_id\030\002 \001(\t\022\035\n\005asset\030\003 \001(\0132\016." + + "message.Asset\022\033\n\004user\030\004 \001(\0132\r.message.Us" + + "er\022!\n\007account\030\005 \001(\0132\020.message.Account\022\'\n" + + "\npermission\030\006 \001(\0132\023.message.Permission\022(" + + "\n\013expire_info\030\007 \001(\0132\023.message.ExpireInfo" + + "\022)\n\014filter_rules\030\010 \003(\0132\023.message.Command" + + "ACL\022\"\n\010gateways\030\t \003(\0132\020.message.Gateway\022" + + "*\n\007setting\030\n \001(\0132\031.message.ComponentSett" + + "ing\022#\n\010platform\030\013 \001(\0132\021.message.Platform" + + "\022\030\n\020FaceMonitorToken\030\014 \001(\t\0224\n\022data_maski" + + "ng_rules\030\r \003(\0132\030.message.DataMaskingRule" + + "\0220\n\017connect_options\030\016 \001(\0132\027.message.Conn" + + "ectOptions\"\203\001\n\010Platform\022\n\n\002id\030\001 \001(\005\022\014\n\004n" + + "ame\030\002 \001(\t\022\020\n\010category\030\003 \001(\t\022\017\n\007charset\030\004" + + " \001(\t\022\014\n\004type\030\005 \001(\t\022,\n\tprotocols\030\006 \003(\0132\031." + + "message.PlatformProtocol\"\246\001\n\020PlatformPro" + + "tocol\022\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\014\n\004port\030" + + "\003 \001(\005\0229\n\010settings\030\004 \003(\0132\'.message.Platfo" + + "rmProtocol.SettingsEntry\032/\n\rSettingsEntr" + + "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"C\n\020Com" + + "ponentSetting\022\025\n\rmax_idle_time\030\001 \001(\005\022\030\n\020" + + "max_session_time\030\002 \001(\005\"1\n\007Forward\022\n\n\002id\030" + + "\001 \001(\t\022\014\n\004Host\030\002 \001(\t\022\014\n\004port\030\003 \001(\005\"\247\001\n\rPu" + + "blicSetting\022\025\n\rxpack_enabled\030\001 \001(\010\022\025\n\rva" + + "lid_license\030\002 \001(\010\022\024\n\014gpt_base_url\030\003 \001(\t\022" + + "\023\n\013gpt_api_key\030\004 \001(\t\022\021\n\tgpt_proxy\030\005 \001(\t\022" + + "\021\n\tgpt_model\030\006 \001(\t\022\027\n\017license_content\030\007 " + + "\001(\t\"%\n\006Cookie\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001" + + "(\t\"\250\003\n\020LifecycleLogData\0223\n\005event\030\001 \001(\0162$" + + ".message.LifecycleLogData.event_type\022\016\n\006" + + "reason\030\002 \001(\t\022\014\n\004user\030\003 \001(\t\"\300\002\n\nevent_typ" + + "e\022\027\n\023AssetConnectSuccess\020\000\022\030\n\024AssetConne" + + "ctFinished\020\001\022\023\n\017CreateShareLink\020\002\022\023\n\017Use" + + "rJoinSession\020\003\022\024\n\020UserLeaveSession\020\004\022\024\n\020" + + "AdminJoinMonitor\020\005\022\024\n\020AdminExitMonitor\020\006" + + "\022\026\n\022ReplayConvertStart\020\007\022\030\n\024ReplayConver" + + "tSuccess\020\010\022\030\n\024ReplayConvertFailure\020\t\022\025\n\021" + + "ReplayUploadStart\020\n\022\027\n\023ReplayUploadSucce" + + "ss\020\013\022\027\n\023ReplayUploadFailure\020\014*k\n\nTaskAct" + + "ion\022\017\n\013KillSession\020\000\022\017\n\013LockSession\020\001\022\021\n" + + "\rUnlockSession\020\002\022\024\n\020TokenPermExpired\020\003\022\022" + + "\n\016TokenPermValid\020\004*f\n\tRiskLevel\022\n\n\006Norma" + + "l\020\000\022\013\n\007Warning\020\001\022\n\n\006Reject\020\002\022\020\n\014ReviewRe" + + "ject\020\003\022\020\n\014ReviewAccept\020\004\022\020\n\014ReviewCancel" + + "\020\005B \n\023org.jumpserver.wispZ\t/protobufb\006pr" + + "oto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -29313,7 +29561,13 @@ public org.jumpserver.wisp.Common.LifecycleLogData getDefaultInstanceForType() { internal_static_message_ConnectOptions_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_message_ConnectOptions_descriptor, - new java.lang.String[] { "UseSysdba", }); + new java.lang.String[] { "Settings", }); + internal_static_message_ConnectOptions_SettingsEntry_descriptor = + internal_static_message_ConnectOptions_descriptor.getNestedTypes().get(0); + internal_static_message_ConnectOptions_SettingsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_message_ConnectOptions_SettingsEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); internal_static_message_TokenAuthInfo_descriptor = getDescriptor().getMessageTypes().get(15); internal_static_message_TokenAuthInfo_fieldAccessorTable = new diff --git a/protobuf-py/protobuf/common_pb2.py b/protobuf-py/protobuf/common_pb2.py index f1da112..bbb3f5d 100644 --- a/protobuf-py/protobuf/common_pb2.py +++ b/protobuf-py/protobuf/common_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\x07message\"e\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0c\n\x04role\x18\x04 \x01(\t\x12\x10\n\x08is_valid\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"n\n\x07\x41\x63\x63ount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\'\n\nsecretType\x18\x06 \x01(\x0b\x32\x13.message.LabelValue\"*\n\nLabelValue\x12\r\n\x05label\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xc5\x03\n\x05\x41sset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x0e\n\x06org_id\x18\x04 \x01(\t\x12\x10\n\x08org_name\x18\x05 \x01(\t\x12$\n\tprotocols\x18\x06 \x03(\x0b\x32\x11.message.Protocol\x12)\n\x08specific\x18\x07 \x01(\x0b\x32\x17.message.Asset.Specific\x1a\x9d\x02\n\x08Specific\x12\x0f\n\x07\x64\x62_name\x18\x01 \x01(\t\x12\x0f\n\x07use_ssl\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_cert\x18\x04 \x01(\t\x12\x12\n\nclient_key\x18\x05 \x01(\t\x12\x1a\n\x12\x61llow_invalid_cert\x18\x06 \x01(\x08\x12\x11\n\tauto_fill\x18\x07 \x01(\t\x12\x19\n\x11username_selector\x18\x08 \x01(\t\x12\x19\n\x11password_selector\x18\t \x01(\t\x12\x17\n\x0fsubmit_selector\x18\n \x01(\t\x12\x0e\n\x06script\x18\x0b \x01(\t\x12\x12\n\nhttp_proxy\x18\x0c \x01(\t\x12\x13\n\x0bpg_ssl_mode\x18\r \x01(\t\"2\n\x08Protocol\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\x88\x01\n\x07Gateway\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\x05\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x10\n\x08username\x18\x06 \x01(\t\x12\x10\n\x08password\x18\x07 \x01(\t\x12\x13\n\x0bprivate_key\x18\x08 \x01(\t\"\x7f\n\nPermission\x12\x16\n\x0e\x65nable_connect\x18\x01 \x01(\x08\x12\x17\n\x0f\x65nable_download\x18\x02 \x01(\x08\x12\x15\n\renable_upload\x18\x03 \x01(\x08\x12\x13\n\x0b\x65nable_copy\x18\x04 \x01(\x08\x12\x14\n\x0c\x65nable_paste\x18\x05 \x01(\x08\"\x81\x02\n\nCommandACL\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12*\n\x06\x61\x63tion\x18\x05 \x01(\x0e\x32\x1a.message.CommandACL.Action\x12\x11\n\tis_active\x18\x06 \x01(\x08\x12-\n\x0e\x63ommand_groups\x18\x07 \x03(\x0b\x32\x15.message.CommandGroup\"Y\n\x06\x41\x63tion\x12\n\n\x06Reject\x10\x00\x12\n\n\x06\x41\x63\x63\x65pt\x10\x01\x12\n\n\x06Review\x10\x02\x12\x0b\n\x07Warning\x10\x03\x12\x11\n\rNotifyWarning\x10\x04\x12\x0b\n\x07Unknown\x10\x05\"\x96\x01\n\x0f\x44\x61taMaskingRule\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12\x11\n\tis_active\x18\x04 \x01(\x08\x12\x16\n\x0emasking_method\x18\x05 \x01(\t\x12\x14\n\x0cmask_pattern\x18\x06 \x01(\t\x12\x16\n\x0e\x66ields_pattern\x18\x07 \x01(\t\"m\n\x0c\x43ommandGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x0c\n\x04Type\x18\x04 \x01(\t\x12\x0f\n\x07pattern\x18\x05 \x01(\t\x12\x13\n\x0bignore_case\x18\x06 \x01(\x08\"\x1f\n\nExpireInfo\x12\x11\n\texpire_at\x18\x01 \x01(\x03\"\xb4\x02\n\x07Session\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\r\n\x05\x61sset\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x63\x63ount\x18\x04 \x01(\t\x12.\n\nlogin_from\x18\x05 \x01(\x0e\x32\x1a.message.Session.LoginFrom\x12\x13\n\x0bremote_addr\x18\x06 \x01(\t\x12\x10\n\x08protocol\x18\x07 \x01(\t\x12\x12\n\ndate_start\x18\x08 \x01(\x03\x12\x0e\n\x06org_id\x18\t \x01(\t\x12\x0f\n\x07user_id\x18\n \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0b \x01(\t\x12\x12\n\naccount_id\x18\x0c \x01(\t\x12\x10\n\x08token_id\x18\r \x01(\t\"+\n\tLoginFrom\x12\x06\n\x02WT\x10\x00\x12\x06\n\x02ST\x10\x01\x12\x06\n\x02RT\x10\x02\x12\x06\n\x02\x44T\x10\x03\"?\n\x0bTokenStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x12\n\nis_expired\x18\x03 \x01(\x08\"\xaa\x01\n\x0cTerminalTask\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x13.message.TaskAction\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x15\n\rterminated_by\x18\x04 \x01(\t\x12\x12\n\ncreated_by\x18\x05 \x01(\t\x12*\n\x0ctoken_status\x18\x06 \x01(\x0b\x32\x14.message.TokenStatus\"$\n\x0e\x43onnectOptions\x12\x12\n\nuse_sysdba\x18\x01 \x01(\x08\"\x87\x04\n\rTokenAuthInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x12\n\nsecrete_id\x18\x02 \x01(\t\x12\x1d\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x0e.message.Asset\x12\x1b\n\x04user\x18\x04 \x01(\x0b\x32\r.message.User\x12!\n\x07\x61\x63\x63ount\x18\x05 \x01(\x0b\x32\x10.message.Account\x12\'\n\npermission\x18\x06 \x01(\x0b\x32\x13.message.Permission\x12(\n\x0b\x65xpire_info\x18\x07 \x01(\x0b\x32\x13.message.ExpireInfo\x12)\n\x0c\x66ilter_rules\x18\x08 \x03(\x0b\x32\x13.message.CommandACL\x12\"\n\x08gateways\x18\t \x03(\x0b\x32\x10.message.Gateway\x12*\n\x07setting\x18\n \x01(\x0b\x32\x19.message.ComponentSetting\x12#\n\x08platform\x18\x0b \x01(\x0b\x32\x11.message.Platform\x12\x18\n\x10\x46\x61\x63\x65MonitorToken\x18\x0c \x01(\t\x12\x34\n\x12\x64\x61ta_masking_rules\x18\r \x03(\x0b\x32\x18.message.DataMaskingRule\x12\x30\n\x0f\x63onnect_options\x18\x0e \x01(\x0b\x32\x17.message.ConnectOptions\"\x83\x01\n\x08Platform\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x0f\n\x07\x63harset\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\t\x12,\n\tprotocols\x18\x06 \x03(\x0b\x32\x19.message.PlatformProtocol\"\xa6\x01\n\x10PlatformProtocol\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x39\n\x08settings\x18\x04 \x03(\x0b\x32\'.message.PlatformProtocol.SettingsEntry\x1a/\n\rSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x10\x43omponentSetting\x12\x15\n\rmax_idle_time\x18\x01 \x01(\x05\x12\x18\n\x10max_session_time\x18\x02 \x01(\x05\"1\n\x07\x46orward\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04Host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\xa7\x01\n\rPublicSetting\x12\x15\n\rxpack_enabled\x18\x01 \x01(\x08\x12\x15\n\rvalid_license\x18\x02 \x01(\x08\x12\x14\n\x0cgpt_base_url\x18\x03 \x01(\t\x12\x13\n\x0bgpt_api_key\x18\x04 \x01(\t\x12\x11\n\tgpt_proxy\x18\x05 \x01(\t\x12\x11\n\tgpt_model\x18\x06 \x01(\t\x12\x17\n\x0flicense_content\x18\x07 \x01(\t\"%\n\x06\x43ookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xa8\x03\n\x10LifecycleLogData\x12\x33\n\x05\x65vent\x18\x01 \x01(\x0e\x32$.message.LifecycleLogData.event_type\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0c\n\x04user\x18\x03 \x01(\t\"\xc0\x02\n\nevent_type\x12\x17\n\x13\x41ssetConnectSuccess\x10\x00\x12\x18\n\x14\x41ssetConnectFinished\x10\x01\x12\x13\n\x0f\x43reateShareLink\x10\x02\x12\x13\n\x0fUserJoinSession\x10\x03\x12\x14\n\x10UserLeaveSession\x10\x04\x12\x14\n\x10\x41\x64minJoinMonitor\x10\x05\x12\x14\n\x10\x41\x64minExitMonitor\x10\x06\x12\x16\n\x12ReplayConvertStart\x10\x07\x12\x18\n\x14ReplayConvertSuccess\x10\x08\x12\x18\n\x14ReplayConvertFailure\x10\t\x12\x15\n\x11ReplayUploadStart\x10\n\x12\x17\n\x13ReplayUploadSuccess\x10\x0b\x12\x17\n\x13ReplayUploadFailure\x10\x0c*k\n\nTaskAction\x12\x0f\n\x0bKillSession\x10\x00\x12\x0f\n\x0bLockSession\x10\x01\x12\x11\n\rUnlockSession\x10\x02\x12\x14\n\x10TokenPermExpired\x10\x03\x12\x12\n\x0eTokenPermValid\x10\x04*f\n\tRiskLevel\x12\n\n\x06Normal\x10\x00\x12\x0b\n\x07Warning\x10\x01\x12\n\n\x06Reject\x10\x02\x12\x10\n\x0cReviewReject\x10\x03\x12\x10\n\x0cReviewAccept\x10\x04\x12\x10\n\x0cReviewCancel\x10\x05\x42 \n\x13org.jumpserver.wispZ\t/protobufb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\x07message\"e\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12\x0c\n\x04role\x18\x04 \x01(\t\x12\x10\n\x08is_valid\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"n\n\x07\x41\x63\x63ount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x0e\n\x06secret\x18\x05 \x01(\t\x12\'\n\nsecretType\x18\x06 \x01(\x0b\x32\x13.message.LabelValue\"*\n\nLabelValue\x12\r\n\x05label\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xc5\x03\n\x05\x41sset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x0e\n\x06org_id\x18\x04 \x01(\t\x12\x10\n\x08org_name\x18\x05 \x01(\t\x12$\n\tprotocols\x18\x06 \x03(\x0b\x32\x11.message.Protocol\x12)\n\x08specific\x18\x07 \x01(\x0b\x32\x17.message.Asset.Specific\x1a\x9d\x02\n\x08Specific\x12\x0f\n\x07\x64\x62_name\x18\x01 \x01(\t\x12\x0f\n\x07use_ssl\x18\x02 \x01(\x08\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_cert\x18\x04 \x01(\t\x12\x12\n\nclient_key\x18\x05 \x01(\t\x12\x1a\n\x12\x61llow_invalid_cert\x18\x06 \x01(\x08\x12\x11\n\tauto_fill\x18\x07 \x01(\t\x12\x19\n\x11username_selector\x18\x08 \x01(\t\x12\x19\n\x11password_selector\x18\t \x01(\t\x12\x17\n\x0fsubmit_selector\x18\n \x01(\t\x12\x0e\n\x06script\x18\x0b \x01(\t\x12\x12\n\nhttp_proxy\x18\x0c \x01(\t\x12\x13\n\x0bpg_ssl_mode\x18\r \x01(\t\"2\n\x08Protocol\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\x88\x01\n\x07Gateway\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\x05\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x10\n\x08username\x18\x06 \x01(\t\x12\x10\n\x08password\x18\x07 \x01(\t\x12\x13\n\x0bprivate_key\x18\x08 \x01(\t\"\x7f\n\nPermission\x12\x16\n\x0e\x65nable_connect\x18\x01 \x01(\x08\x12\x17\n\x0f\x65nable_download\x18\x02 \x01(\x08\x12\x15\n\renable_upload\x18\x03 \x01(\x08\x12\x13\n\x0b\x65nable_copy\x18\x04 \x01(\x08\x12\x14\n\x0c\x65nable_paste\x18\x05 \x01(\x08\"\x81\x02\n\nCommandACL\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12*\n\x06\x61\x63tion\x18\x05 \x01(\x0e\x32\x1a.message.CommandACL.Action\x12\x11\n\tis_active\x18\x06 \x01(\x08\x12-\n\x0e\x63ommand_groups\x18\x07 \x03(\x0b\x32\x15.message.CommandGroup\"Y\n\x06\x41\x63tion\x12\n\n\x06Reject\x10\x00\x12\n\n\x06\x41\x63\x63\x65pt\x10\x01\x12\n\n\x06Review\x10\x02\x12\x0b\n\x07Warning\x10\x03\x12\x11\n\rNotifyWarning\x10\x04\x12\x0b\n\x07Unknown\x10\x05\"\x96\x01\n\x0f\x44\x61taMaskingRule\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08priority\x18\x03 \x01(\x05\x12\x11\n\tis_active\x18\x04 \x01(\x08\x12\x16\n\x0emasking_method\x18\x05 \x01(\t\x12\x14\n\x0cmask_pattern\x18\x06 \x01(\t\x12\x16\n\x0e\x66ields_pattern\x18\x07 \x01(\t\"m\n\x0c\x43ommandGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x0c\n\x04Type\x18\x04 \x01(\t\x12\x0f\n\x07pattern\x18\x05 \x01(\t\x12\x13\n\x0bignore_case\x18\x06 \x01(\x08\"\x1f\n\nExpireInfo\x12\x11\n\texpire_at\x18\x01 \x01(\x03\"\xb4\x02\n\x07Session\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\r\n\x05\x61sset\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x63\x63ount\x18\x04 \x01(\t\x12.\n\nlogin_from\x18\x05 \x01(\x0e\x32\x1a.message.Session.LoginFrom\x12\x13\n\x0bremote_addr\x18\x06 \x01(\t\x12\x10\n\x08protocol\x18\x07 \x01(\t\x12\x12\n\ndate_start\x18\x08 \x01(\x03\x12\x0e\n\x06org_id\x18\t \x01(\t\x12\x0f\n\x07user_id\x18\n \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0b \x01(\t\x12\x12\n\naccount_id\x18\x0c \x01(\t\x12\x10\n\x08token_id\x18\r \x01(\t\"+\n\tLoginFrom\x12\x06\n\x02WT\x10\x00\x12\x06\n\x02ST\x10\x01\x12\x06\n\x02RT\x10\x02\x12\x06\n\x02\x44T\x10\x03\"?\n\x0bTokenStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x12\n\nis_expired\x18\x03 \x01(\x08\"\xaa\x01\n\x0cTerminalTask\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x13.message.TaskAction\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x15\n\rterminated_by\x18\x04 \x01(\t\x12\x12\n\ncreated_by\x18\x05 \x01(\t\x12*\n\x0ctoken_status\x18\x06 \x01(\x0b\x32\x14.message.TokenStatus\"z\n\x0e\x43onnectOptions\x12\x37\n\x08settings\x18\x01 \x03(\x0b\x32%.message.ConnectOptions.SettingsEntry\x1a/\n\rSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x87\x04\n\rTokenAuthInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x12\n\nsecrete_id\x18\x02 \x01(\t\x12\x1d\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x0e.message.Asset\x12\x1b\n\x04user\x18\x04 \x01(\x0b\x32\r.message.User\x12!\n\x07\x61\x63\x63ount\x18\x05 \x01(\x0b\x32\x10.message.Account\x12\'\n\npermission\x18\x06 \x01(\x0b\x32\x13.message.Permission\x12(\n\x0b\x65xpire_info\x18\x07 \x01(\x0b\x32\x13.message.ExpireInfo\x12)\n\x0c\x66ilter_rules\x18\x08 \x03(\x0b\x32\x13.message.CommandACL\x12\"\n\x08gateways\x18\t \x03(\x0b\x32\x10.message.Gateway\x12*\n\x07setting\x18\n \x01(\x0b\x32\x19.message.ComponentSetting\x12#\n\x08platform\x18\x0b \x01(\x0b\x32\x11.message.Platform\x12\x18\n\x10\x46\x61\x63\x65MonitorToken\x18\x0c \x01(\t\x12\x34\n\x12\x64\x61ta_masking_rules\x18\r \x03(\x0b\x32\x18.message.DataMaskingRule\x12\x30\n\x0f\x63onnect_options\x18\x0e \x01(\x0b\x32\x17.message.ConnectOptions\"\x83\x01\n\x08Platform\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x0f\n\x07\x63harset\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\t\x12,\n\tprotocols\x18\x06 \x03(\x0b\x32\x19.message.PlatformProtocol\"\xa6\x01\n\x10PlatformProtocol\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x39\n\x08settings\x18\x04 \x03(\x0b\x32\'.message.PlatformProtocol.SettingsEntry\x1a/\n\rSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x10\x43omponentSetting\x12\x15\n\rmax_idle_time\x18\x01 \x01(\x05\x12\x18\n\x10max_session_time\x18\x02 \x01(\x05\"1\n\x07\x46orward\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04Host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\xa7\x01\n\rPublicSetting\x12\x15\n\rxpack_enabled\x18\x01 \x01(\x08\x12\x15\n\rvalid_license\x18\x02 \x01(\x08\x12\x14\n\x0cgpt_base_url\x18\x03 \x01(\t\x12\x13\n\x0bgpt_api_key\x18\x04 \x01(\t\x12\x11\n\tgpt_proxy\x18\x05 \x01(\t\x12\x11\n\tgpt_model\x18\x06 \x01(\t\x12\x17\n\x0flicense_content\x18\x07 \x01(\t\"%\n\x06\x43ookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xa8\x03\n\x10LifecycleLogData\x12\x33\n\x05\x65vent\x18\x01 \x01(\x0e\x32$.message.LifecycleLogData.event_type\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0c\n\x04user\x18\x03 \x01(\t\"\xc0\x02\n\nevent_type\x12\x17\n\x13\x41ssetConnectSuccess\x10\x00\x12\x18\n\x14\x41ssetConnectFinished\x10\x01\x12\x13\n\x0f\x43reateShareLink\x10\x02\x12\x13\n\x0fUserJoinSession\x10\x03\x12\x14\n\x10UserLeaveSession\x10\x04\x12\x14\n\x10\x41\x64minJoinMonitor\x10\x05\x12\x14\n\x10\x41\x64minExitMonitor\x10\x06\x12\x16\n\x12ReplayConvertStart\x10\x07\x12\x18\n\x14ReplayConvertSuccess\x10\x08\x12\x18\n\x14ReplayConvertFailure\x10\t\x12\x15\n\x11ReplayUploadStart\x10\n\x12\x17\n\x13ReplayUploadSuccess\x10\x0b\x12\x17\n\x13ReplayUploadFailure\x10\x0c*k\n\nTaskAction\x12\x0f\n\x0bKillSession\x10\x00\x12\x0f\n\x0bLockSession\x10\x01\x12\x11\n\rUnlockSession\x10\x02\x12\x14\n\x10TokenPermExpired\x10\x03\x12\x12\n\x0eTokenPermValid\x10\x04*f\n\tRiskLevel\x12\n\n\x06Normal\x10\x00\x12\x0b\n\x07Warning\x10\x01\x12\n\n\x06Reject\x10\x02\x12\x10\n\x0cReviewReject\x10\x03\x12\x10\n\x0cReviewAccept\x10\x04\x12\x10\n\x0cReviewCancel\x10\x05\x42 \n\x13org.jumpserver.wispZ\t/protobufb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,12 +32,14 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\023org.jumpserver.wispZ\t/protobuf' + _globals['_CONNECTOPTIONS_SETTINGSENTRY']._loaded_options = None + _globals['_CONNECTOPTIONS_SETTINGSENTRY']._serialized_options = b'8\001' _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._loaded_options = None _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_options = b'8\001' - _globals['_TASKACTION']._serialized_start=3785 - _globals['_TASKACTION']._serialized_end=3892 - _globals['_RISKLEVEL']._serialized_start=3894 - _globals['_RISKLEVEL']._serialized_end=3996 + _globals['_TASKACTION']._serialized_start=3871 + _globals['_TASKACTION']._serialized_end=3978 + _globals['_RISKLEVEL']._serialized_start=3980 + _globals['_RISKLEVEL']._serialized_end=4082 _globals['_USER']._serialized_start=25 _globals['_USER']._serialized_end=126 _globals['_ACCOUNT']._serialized_start=128 @@ -73,25 +75,27 @@ _globals['_TERMINALTASK']._serialized_start=1994 _globals['_TERMINALTASK']._serialized_end=2164 _globals['_CONNECTOPTIONS']._serialized_start=2166 - _globals['_CONNECTOPTIONS']._serialized_end=2202 - _globals['_TOKENAUTHINFO']._serialized_start=2205 - _globals['_TOKENAUTHINFO']._serialized_end=2724 - _globals['_PLATFORM']._serialized_start=2727 - _globals['_PLATFORM']._serialized_end=2858 - _globals['_PLATFORMPROTOCOL']._serialized_start=2861 - _globals['_PLATFORMPROTOCOL']._serialized_end=3027 - _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_start=2980 - _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_end=3027 - _globals['_COMPONENTSETTING']._serialized_start=3029 - _globals['_COMPONENTSETTING']._serialized_end=3096 - _globals['_FORWARD']._serialized_start=3098 - _globals['_FORWARD']._serialized_end=3147 - _globals['_PUBLICSETTING']._serialized_start=3150 - _globals['_PUBLICSETTING']._serialized_end=3317 - _globals['_COOKIE']._serialized_start=3319 - _globals['_COOKIE']._serialized_end=3356 - _globals['_LIFECYCLELOGDATA']._serialized_start=3359 - _globals['_LIFECYCLELOGDATA']._serialized_end=3783 - _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_start=3463 - _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_end=3783 + _globals['_CONNECTOPTIONS']._serialized_end=2288 + _globals['_CONNECTOPTIONS_SETTINGSENTRY']._serialized_start=2241 + _globals['_CONNECTOPTIONS_SETTINGSENTRY']._serialized_end=2288 + _globals['_TOKENAUTHINFO']._serialized_start=2291 + _globals['_TOKENAUTHINFO']._serialized_end=2810 + _globals['_PLATFORM']._serialized_start=2813 + _globals['_PLATFORM']._serialized_end=2944 + _globals['_PLATFORMPROTOCOL']._serialized_start=2947 + _globals['_PLATFORMPROTOCOL']._serialized_end=3113 + _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_start=2241 + _globals['_PLATFORMPROTOCOL_SETTINGSENTRY']._serialized_end=2288 + _globals['_COMPONENTSETTING']._serialized_start=3115 + _globals['_COMPONENTSETTING']._serialized_end=3182 + _globals['_FORWARD']._serialized_start=3184 + _globals['_FORWARD']._serialized_end=3233 + _globals['_PUBLICSETTING']._serialized_start=3236 + _globals['_PUBLICSETTING']._serialized_end=3403 + _globals['_COOKIE']._serialized_start=3405 + _globals['_COOKIE']._serialized_end=3442 + _globals['_LIFECYCLELOGDATA']._serialized_start=3445 + _globals['_LIFECYCLELOGDATA']._serialized_end=3869 + _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_start=3549 + _globals['_LIFECYCLELOGDATA_EVENT_TYPE']._serialized_end=3869 # @@protoc_insertion_point(module_scope) diff --git a/protobuf-py/protobuf/common_pb2.pyi b/protobuf-py/protobuf/common_pb2.pyi index 5f3b543..5d57c9b 100644 --- a/protobuf-py/protobuf/common_pb2.pyi +++ b/protobuf-py/protobuf/common_pb2.pyi @@ -300,10 +300,17 @@ class TerminalTask(_message.Message): def __init__(self, id: _Optional[str] = ..., action: _Optional[_Union[TaskAction, str]] = ..., session_id: _Optional[str] = ..., terminated_by: _Optional[str] = ..., created_by: _Optional[str] = ..., token_status: _Optional[_Union[TokenStatus, _Mapping]] = ...) -> None: ... class ConnectOptions(_message.Message): - __slots__ = ("use_sysdba",) - USE_SYSDBA_FIELD_NUMBER: _ClassVar[int] - use_sysdba: bool - def __init__(self, use_sysdba: bool = ...) -> None: ... + __slots__ = ("settings",) + class SettingsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + SETTINGS_FIELD_NUMBER: _ClassVar[int] + settings: _containers.ScalarMap[str, str] + def __init__(self, settings: _Optional[_Mapping[str, str]] = ...) -> None: ... class TokenAuthInfo(_message.Message): __slots__ = ("key_id", "secrete_id", "asset", "user", "account", "permission", "expire_info", "filter_rules", "gateways", "setting", "platform", "FaceMonitorToken", "data_masking_rules", "connect_options") diff --git a/protobuf-rs/message.rs b/protobuf-rs/message.rs index b1f4b0d..243a621 100644 --- a/protobuf-rs/message.rs +++ b/protobuf-rs/message.rs @@ -306,10 +306,10 @@ pub struct TerminalTask { #[prost(message, optional, tag="6")] pub token_status: ::core::option::Option, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ConnectOptions { - #[prost(bool, tag="1")] - pub use_sysdba: bool, + #[prost(map="string, string", tag="1")] + pub settings: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct TokenAuthInfo { diff --git a/protos/common.proto b/protos/common.proto index b7399cd..27c65e9 100644 --- a/protos/common.proto +++ b/protos/common.proto @@ -173,7 +173,7 @@ enum RiskLevel { } message ConnectOptions { - bool use_sysdba = 1; + map settings = 1; } message TokenAuthInfo {