gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker.pb.go (about) 1 // Copyright 2018 The gRPC Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // The canonical version of this proto can be found at 16 // https://github.com/grpc/grpc-proto/blob/master/grpc/gcp/handshaker.proto 17 18 // Code generated by protoc-gen-go. DO NOT EDIT. 19 // versions: 20 // protoc-gen-go v1.25.0 21 // protoc v3.14.0 22 // source: grpc/gcp/handshaker.proto 23 24 package grpc_gcp 25 26 import ( 27 proto "github.com/golang/protobuf/proto" 28 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 29 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // This is a compile-time assertion that a sufficiently up-to-date version 42 // of the legacy proto package is being used. 43 const _ = proto.ProtoPackageIsVersion4 44 45 type HandshakeProtocol int32 46 47 const ( 48 // Default value. 49 HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED HandshakeProtocol = 0 50 // TLS handshake protocol. 51 HandshakeProtocol_TLS HandshakeProtocol = 1 52 // Application Layer Transport Security handshake protocol. 53 HandshakeProtocol_ALTS HandshakeProtocol = 2 54 ) 55 56 // Enum value maps for HandshakeProtocol. 57 var ( 58 HandshakeProtocol_name = map[int32]string{ 59 0: "HANDSHAKE_PROTOCOL_UNSPECIFIED", 60 1: "TLS", 61 2: "ALTS", 62 } 63 HandshakeProtocol_value = map[string]int32{ 64 "HANDSHAKE_PROTOCOL_UNSPECIFIED": 0, 65 "TLS": 1, 66 "ALTS": 2, 67 } 68 ) 69 70 func (x HandshakeProtocol) Enum() *HandshakeProtocol { 71 p := new(HandshakeProtocol) 72 *p = x 73 return p 74 } 75 76 func (x HandshakeProtocol) String() string { 77 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 78 } 79 80 func (HandshakeProtocol) Descriptor() protoreflect.EnumDescriptor { 81 return file_grpc_gcp_handshaker_proto_enumTypes[0].Descriptor() 82 } 83 84 func (HandshakeProtocol) Type() protoreflect.EnumType { 85 return &file_grpc_gcp_handshaker_proto_enumTypes[0] 86 } 87 88 func (x HandshakeProtocol) Number() protoreflect.EnumNumber { 89 return protoreflect.EnumNumber(x) 90 } 91 92 // Deprecated: Use HandshakeProtocol.Descriptor instead. 93 func (HandshakeProtocol) EnumDescriptor() ([]byte, []int) { 94 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0} 95 } 96 97 type NetworkProtocol int32 98 99 const ( 100 NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED NetworkProtocol = 0 101 NetworkProtocol_TCP NetworkProtocol = 1 102 NetworkProtocol_UDP NetworkProtocol = 2 103 ) 104 105 // Enum value maps for NetworkProtocol. 106 var ( 107 NetworkProtocol_name = map[int32]string{ 108 0: "NETWORK_PROTOCOL_UNSPECIFIED", 109 1: "TCP", 110 2: "UDP", 111 } 112 NetworkProtocol_value = map[string]int32{ 113 "NETWORK_PROTOCOL_UNSPECIFIED": 0, 114 "TCP": 1, 115 "UDP": 2, 116 } 117 ) 118 119 func (x NetworkProtocol) Enum() *NetworkProtocol { 120 p := new(NetworkProtocol) 121 *p = x 122 return p 123 } 124 125 func (x NetworkProtocol) String() string { 126 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 127 } 128 129 func (NetworkProtocol) Descriptor() protoreflect.EnumDescriptor { 130 return file_grpc_gcp_handshaker_proto_enumTypes[1].Descriptor() 131 } 132 133 func (NetworkProtocol) Type() protoreflect.EnumType { 134 return &file_grpc_gcp_handshaker_proto_enumTypes[1] 135 } 136 137 func (x NetworkProtocol) Number() protoreflect.EnumNumber { 138 return protoreflect.EnumNumber(x) 139 } 140 141 // Deprecated: Use NetworkProtocol.Descriptor instead. 142 func (NetworkProtocol) EnumDescriptor() ([]byte, []int) { 143 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1} 144 } 145 146 type Endpoint struct { 147 state protoimpl.MessageState 148 sizeCache protoimpl.SizeCache 149 unknownFields protoimpl.UnknownFields 150 151 // IP address. It should contain an IPv4 or IPv6 string literal, e.g. 152 // "192.168.0.1" or "2001:db8::1". 153 IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 154 // Port number. 155 Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 156 // Network protocol (e.g., TCP, UDP) associated with this endpoint. 157 Protocol NetworkProtocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=grpc.gcp.NetworkProtocol" json:"protocol,omitempty"` 158 } 159 160 func (x *Endpoint) Reset() { 161 *x = Endpoint{} 162 if protoimpl.UnsafeEnabled { 163 mi := &file_grpc_gcp_handshaker_proto_msgTypes[0] 164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 165 ms.StoreMessageInfo(mi) 166 } 167 } 168 169 func (x *Endpoint) String() string { 170 return protoimpl.X.MessageStringOf(x) 171 } 172 173 func (*Endpoint) ProtoMessage() {} 174 175 func (x *Endpoint) ProtoReflect() protoreflect.Message { 176 mi := &file_grpc_gcp_handshaker_proto_msgTypes[0] 177 if protoimpl.UnsafeEnabled && x != nil { 178 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 179 if ms.LoadMessageInfo() == nil { 180 ms.StoreMessageInfo(mi) 181 } 182 return ms 183 } 184 return mi.MessageOf(x) 185 } 186 187 // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. 188 func (*Endpoint) Descriptor() ([]byte, []int) { 189 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0} 190 } 191 192 func (x *Endpoint) GetIpAddress() string { 193 if x != nil { 194 return x.IpAddress 195 } 196 return "" 197 } 198 199 func (x *Endpoint) GetPort() int32 { 200 if x != nil { 201 return x.Port 202 } 203 return 0 204 } 205 206 func (x *Endpoint) GetProtocol() NetworkProtocol { 207 if x != nil { 208 return x.Protocol 209 } 210 return NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED 211 } 212 213 type Identity struct { 214 state protoimpl.MessageState 215 sizeCache protoimpl.SizeCache 216 unknownFields protoimpl.UnknownFields 217 218 // Types that are assignable to IdentityOneof: 219 // *Identity_ServiceAccount 220 // *Identity_Hostname 221 IdentityOneof isIdentity_IdentityOneof `protobuf_oneof:"identity_oneof"` 222 // Additional attributes of the identity. 223 Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 224 } 225 226 func (x *Identity) Reset() { 227 *x = Identity{} 228 if protoimpl.UnsafeEnabled { 229 mi := &file_grpc_gcp_handshaker_proto_msgTypes[1] 230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 231 ms.StoreMessageInfo(mi) 232 } 233 } 234 235 func (x *Identity) String() string { 236 return protoimpl.X.MessageStringOf(x) 237 } 238 239 func (*Identity) ProtoMessage() {} 240 241 func (x *Identity) ProtoReflect() protoreflect.Message { 242 mi := &file_grpc_gcp_handshaker_proto_msgTypes[1] 243 if protoimpl.UnsafeEnabled && x != nil { 244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 245 if ms.LoadMessageInfo() == nil { 246 ms.StoreMessageInfo(mi) 247 } 248 return ms 249 } 250 return mi.MessageOf(x) 251 } 252 253 // Deprecated: Use Identity.ProtoReflect.Descriptor instead. 254 func (*Identity) Descriptor() ([]byte, []int) { 255 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1} 256 } 257 258 func (m *Identity) GetIdentityOneof() isIdentity_IdentityOneof { 259 if m != nil { 260 return m.IdentityOneof 261 } 262 return nil 263 } 264 265 func (x *Identity) GetServiceAccount() string { 266 if x, ok := x.GetIdentityOneof().(*Identity_ServiceAccount); ok { 267 return x.ServiceAccount 268 } 269 return "" 270 } 271 272 func (x *Identity) GetHostname() string { 273 if x, ok := x.GetIdentityOneof().(*Identity_Hostname); ok { 274 return x.Hostname 275 } 276 return "" 277 } 278 279 func (x *Identity) GetAttributes() map[string]string { 280 if x != nil { 281 return x.Attributes 282 } 283 return nil 284 } 285 286 type isIdentity_IdentityOneof interface { 287 isIdentity_IdentityOneof() 288 } 289 290 type Identity_ServiceAccount struct { 291 // Service account of a connection endpoint. 292 ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3,oneof"` 293 } 294 295 type Identity_Hostname struct { 296 // Hostname of a connection endpoint. 297 Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3,oneof"` 298 } 299 300 func (*Identity_ServiceAccount) isIdentity_IdentityOneof() {} 301 302 func (*Identity_Hostname) isIdentity_IdentityOneof() {} 303 304 type StartClientHandshakeReq struct { 305 state protoimpl.MessageState 306 sizeCache protoimpl.SizeCache 307 unknownFields protoimpl.UnknownFields 308 309 // Handshake security protocol requested by the client. 310 HandshakeSecurityProtocol HandshakeProtocol `protobuf:"varint,1,opt,name=handshake_security_protocol,json=handshakeSecurityProtocol,proto3,enum=grpc.gcp.HandshakeProtocol" json:"handshake_security_protocol,omitempty"` 311 // The application protocols supported by the client, e.g., "h2" (for http2), 312 // "grpc". 313 ApplicationProtocols []string `protobuf:"bytes,2,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` 314 // The record protocols supported by the client, e.g., 315 // "ALTSRP_GCM_AES128". 316 RecordProtocols []string `protobuf:"bytes,3,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` 317 // (Optional) Describes which server identities are acceptable by the client. 318 // If target identities are provided and none of them matches the peer 319 // identity of the server, handshake will fail. 320 TargetIdentities []*Identity `protobuf:"bytes,4,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"` 321 // (Optional) Application may specify a local identity. Otherwise, the 322 // handshaker chooses a default local identity. 323 LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` 324 // (Optional) Local endpoint information of the connection to the server, 325 // such as local IP address, port number, and network protocol. 326 LocalEndpoint *Endpoint `protobuf:"bytes,6,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` 327 // (Optional) Endpoint information of the remote server, such as IP address, 328 // port number, and network protocol. 329 RemoteEndpoint *Endpoint `protobuf:"bytes,7,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` 330 // (Optional) If target name is provided, a secure naming check is performed 331 // to verify that the peer authenticated identity is indeed authorized to run 332 // the target name. 333 TargetName string `protobuf:"bytes,8,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"` 334 // (Optional) RPC protocol versions supported by the client. 335 RpcVersions *RpcProtocolVersions `protobuf:"bytes,9,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` 336 // (Optional) Maximum frame size supported by the client. 337 MaxFrameSize uint32 `protobuf:"varint,10,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 338 } 339 340 func (x *StartClientHandshakeReq) Reset() { 341 *x = StartClientHandshakeReq{} 342 if protoimpl.UnsafeEnabled { 343 mi := &file_grpc_gcp_handshaker_proto_msgTypes[2] 344 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 345 ms.StoreMessageInfo(mi) 346 } 347 } 348 349 func (x *StartClientHandshakeReq) String() string { 350 return protoimpl.X.MessageStringOf(x) 351 } 352 353 func (*StartClientHandshakeReq) ProtoMessage() {} 354 355 func (x *StartClientHandshakeReq) ProtoReflect() protoreflect.Message { 356 mi := &file_grpc_gcp_handshaker_proto_msgTypes[2] 357 if protoimpl.UnsafeEnabled && x != nil { 358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 359 if ms.LoadMessageInfo() == nil { 360 ms.StoreMessageInfo(mi) 361 } 362 return ms 363 } 364 return mi.MessageOf(x) 365 } 366 367 // Deprecated: Use StartClientHandshakeReq.ProtoReflect.Descriptor instead. 368 func (*StartClientHandshakeReq) Descriptor() ([]byte, []int) { 369 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{2} 370 } 371 372 func (x *StartClientHandshakeReq) GetHandshakeSecurityProtocol() HandshakeProtocol { 373 if x != nil { 374 return x.HandshakeSecurityProtocol 375 } 376 return HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED 377 } 378 379 func (x *StartClientHandshakeReq) GetApplicationProtocols() []string { 380 if x != nil { 381 return x.ApplicationProtocols 382 } 383 return nil 384 } 385 386 func (x *StartClientHandshakeReq) GetRecordProtocols() []string { 387 if x != nil { 388 return x.RecordProtocols 389 } 390 return nil 391 } 392 393 func (x *StartClientHandshakeReq) GetTargetIdentities() []*Identity { 394 if x != nil { 395 return x.TargetIdentities 396 } 397 return nil 398 } 399 400 func (x *StartClientHandshakeReq) GetLocalIdentity() *Identity { 401 if x != nil { 402 return x.LocalIdentity 403 } 404 return nil 405 } 406 407 func (x *StartClientHandshakeReq) GetLocalEndpoint() *Endpoint { 408 if x != nil { 409 return x.LocalEndpoint 410 } 411 return nil 412 } 413 414 func (x *StartClientHandshakeReq) GetRemoteEndpoint() *Endpoint { 415 if x != nil { 416 return x.RemoteEndpoint 417 } 418 return nil 419 } 420 421 func (x *StartClientHandshakeReq) GetTargetName() string { 422 if x != nil { 423 return x.TargetName 424 } 425 return "" 426 } 427 428 func (x *StartClientHandshakeReq) GetRpcVersions() *RpcProtocolVersions { 429 if x != nil { 430 return x.RpcVersions 431 } 432 return nil 433 } 434 435 func (x *StartClientHandshakeReq) GetMaxFrameSize() uint32 { 436 if x != nil { 437 return x.MaxFrameSize 438 } 439 return 0 440 } 441 442 type ServerHandshakeParameters struct { 443 state protoimpl.MessageState 444 sizeCache protoimpl.SizeCache 445 unknownFields protoimpl.UnknownFields 446 447 // The record protocols supported by the server, e.g., 448 // "ALTSRP_GCM_AES128". 449 RecordProtocols []string `protobuf:"bytes,1,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` 450 // (Optional) A list of local identities supported by the server, if 451 // specified. Otherwise, the handshaker chooses a default local identity. 452 LocalIdentities []*Identity `protobuf:"bytes,2,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"` 453 } 454 455 func (x *ServerHandshakeParameters) Reset() { 456 *x = ServerHandshakeParameters{} 457 if protoimpl.UnsafeEnabled { 458 mi := &file_grpc_gcp_handshaker_proto_msgTypes[3] 459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 460 ms.StoreMessageInfo(mi) 461 } 462 } 463 464 func (x *ServerHandshakeParameters) String() string { 465 return protoimpl.X.MessageStringOf(x) 466 } 467 468 func (*ServerHandshakeParameters) ProtoMessage() {} 469 470 func (x *ServerHandshakeParameters) ProtoReflect() protoreflect.Message { 471 mi := &file_grpc_gcp_handshaker_proto_msgTypes[3] 472 if protoimpl.UnsafeEnabled && x != nil { 473 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 474 if ms.LoadMessageInfo() == nil { 475 ms.StoreMessageInfo(mi) 476 } 477 return ms 478 } 479 return mi.MessageOf(x) 480 } 481 482 // Deprecated: Use ServerHandshakeParameters.ProtoReflect.Descriptor instead. 483 func (*ServerHandshakeParameters) Descriptor() ([]byte, []int) { 484 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{3} 485 } 486 487 func (x *ServerHandshakeParameters) GetRecordProtocols() []string { 488 if x != nil { 489 return x.RecordProtocols 490 } 491 return nil 492 } 493 494 func (x *ServerHandshakeParameters) GetLocalIdentities() []*Identity { 495 if x != nil { 496 return x.LocalIdentities 497 } 498 return nil 499 } 500 501 type StartServerHandshakeReq struct { 502 state protoimpl.MessageState 503 sizeCache protoimpl.SizeCache 504 unknownFields protoimpl.UnknownFields 505 506 // The application protocols supported by the server, e.g., "h2" (for http2), 507 // "grpc". 508 ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` 509 // Handshake parameters (record protocols and local identities supported by 510 // the server) mapped by the handshake protocol. Each handshake security 511 // protocol (e.g., TLS or ALTS) has its own set of record protocols and local 512 // identities. Since protobuf does not support enum as key to the map, the key 513 // to handshake_parameters is the integer value of HandshakeProtocol enum. 514 HandshakeParameters map[int32]*ServerHandshakeParameters `protobuf:"bytes,2,rep,name=handshake_parameters,json=handshakeParameters,proto3" json:"handshake_parameters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 515 // Bytes in out_frames returned from the peer's HandshakerResp. It is possible 516 // that the peer's out_frames are split into multiple HandshakReq messages. 517 InBytes []byte `protobuf:"bytes,3,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` 518 // (Optional) Local endpoint information of the connection to the client, 519 // such as local IP address, port number, and network protocol. 520 LocalEndpoint *Endpoint `protobuf:"bytes,4,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` 521 // (Optional) Endpoint information of the remote client, such as IP address, 522 // port number, and network protocol. 523 RemoteEndpoint *Endpoint `protobuf:"bytes,5,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` 524 // (Optional) RPC protocol versions supported by the server. 525 RpcVersions *RpcProtocolVersions `protobuf:"bytes,6,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` 526 // (Optional) Maximum frame size supported by the server. 527 MaxFrameSize uint32 `protobuf:"varint,7,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 528 } 529 530 func (x *StartServerHandshakeReq) Reset() { 531 *x = StartServerHandshakeReq{} 532 if protoimpl.UnsafeEnabled { 533 mi := &file_grpc_gcp_handshaker_proto_msgTypes[4] 534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 535 ms.StoreMessageInfo(mi) 536 } 537 } 538 539 func (x *StartServerHandshakeReq) String() string { 540 return protoimpl.X.MessageStringOf(x) 541 } 542 543 func (*StartServerHandshakeReq) ProtoMessage() {} 544 545 func (x *StartServerHandshakeReq) ProtoReflect() protoreflect.Message { 546 mi := &file_grpc_gcp_handshaker_proto_msgTypes[4] 547 if protoimpl.UnsafeEnabled && x != nil { 548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 549 if ms.LoadMessageInfo() == nil { 550 ms.StoreMessageInfo(mi) 551 } 552 return ms 553 } 554 return mi.MessageOf(x) 555 } 556 557 // Deprecated: Use StartServerHandshakeReq.ProtoReflect.Descriptor instead. 558 func (*StartServerHandshakeReq) Descriptor() ([]byte, []int) { 559 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{4} 560 } 561 562 func (x *StartServerHandshakeReq) GetApplicationProtocols() []string { 563 if x != nil { 564 return x.ApplicationProtocols 565 } 566 return nil 567 } 568 569 func (x *StartServerHandshakeReq) GetHandshakeParameters() map[int32]*ServerHandshakeParameters { 570 if x != nil { 571 return x.HandshakeParameters 572 } 573 return nil 574 } 575 576 func (x *StartServerHandshakeReq) GetInBytes() []byte { 577 if x != nil { 578 return x.InBytes 579 } 580 return nil 581 } 582 583 func (x *StartServerHandshakeReq) GetLocalEndpoint() *Endpoint { 584 if x != nil { 585 return x.LocalEndpoint 586 } 587 return nil 588 } 589 590 func (x *StartServerHandshakeReq) GetRemoteEndpoint() *Endpoint { 591 if x != nil { 592 return x.RemoteEndpoint 593 } 594 return nil 595 } 596 597 func (x *StartServerHandshakeReq) GetRpcVersions() *RpcProtocolVersions { 598 if x != nil { 599 return x.RpcVersions 600 } 601 return nil 602 } 603 604 func (x *StartServerHandshakeReq) GetMaxFrameSize() uint32 { 605 if x != nil { 606 return x.MaxFrameSize 607 } 608 return 0 609 } 610 611 type NextHandshakeMessageReq struct { 612 state protoimpl.MessageState 613 sizeCache protoimpl.SizeCache 614 unknownFields protoimpl.UnknownFields 615 616 // Bytes in out_frames returned from the peer's HandshakerResp. It is possible 617 // that the peer's out_frames are split into multiple NextHandshakerMessageReq 618 // messages. 619 InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` 620 } 621 622 func (x *NextHandshakeMessageReq) Reset() { 623 *x = NextHandshakeMessageReq{} 624 if protoimpl.UnsafeEnabled { 625 mi := &file_grpc_gcp_handshaker_proto_msgTypes[5] 626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 627 ms.StoreMessageInfo(mi) 628 } 629 } 630 631 func (x *NextHandshakeMessageReq) String() string { 632 return protoimpl.X.MessageStringOf(x) 633 } 634 635 func (*NextHandshakeMessageReq) ProtoMessage() {} 636 637 func (x *NextHandshakeMessageReq) ProtoReflect() protoreflect.Message { 638 mi := &file_grpc_gcp_handshaker_proto_msgTypes[5] 639 if protoimpl.UnsafeEnabled && x != nil { 640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 641 if ms.LoadMessageInfo() == nil { 642 ms.StoreMessageInfo(mi) 643 } 644 return ms 645 } 646 return mi.MessageOf(x) 647 } 648 649 // Deprecated: Use NextHandshakeMessageReq.ProtoReflect.Descriptor instead. 650 func (*NextHandshakeMessageReq) Descriptor() ([]byte, []int) { 651 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{5} 652 } 653 654 func (x *NextHandshakeMessageReq) GetInBytes() []byte { 655 if x != nil { 656 return x.InBytes 657 } 658 return nil 659 } 660 661 type HandshakerReq struct { 662 state protoimpl.MessageState 663 sizeCache protoimpl.SizeCache 664 unknownFields protoimpl.UnknownFields 665 666 // Types that are assignable to ReqOneof: 667 // *HandshakerReq_ClientStart 668 // *HandshakerReq_ServerStart 669 // *HandshakerReq_Next 670 ReqOneof isHandshakerReq_ReqOneof `protobuf_oneof:"req_oneof"` 671 } 672 673 func (x *HandshakerReq) Reset() { 674 *x = HandshakerReq{} 675 if protoimpl.UnsafeEnabled { 676 mi := &file_grpc_gcp_handshaker_proto_msgTypes[6] 677 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 678 ms.StoreMessageInfo(mi) 679 } 680 } 681 682 func (x *HandshakerReq) String() string { 683 return protoimpl.X.MessageStringOf(x) 684 } 685 686 func (*HandshakerReq) ProtoMessage() {} 687 688 func (x *HandshakerReq) ProtoReflect() protoreflect.Message { 689 mi := &file_grpc_gcp_handshaker_proto_msgTypes[6] 690 if protoimpl.UnsafeEnabled && x != nil { 691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 692 if ms.LoadMessageInfo() == nil { 693 ms.StoreMessageInfo(mi) 694 } 695 return ms 696 } 697 return mi.MessageOf(x) 698 } 699 700 // Deprecated: Use HandshakerReq.ProtoReflect.Descriptor instead. 701 func (*HandshakerReq) Descriptor() ([]byte, []int) { 702 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{6} 703 } 704 705 func (m *HandshakerReq) GetReqOneof() isHandshakerReq_ReqOneof { 706 if m != nil { 707 return m.ReqOneof 708 } 709 return nil 710 } 711 712 func (x *HandshakerReq) GetClientStart() *StartClientHandshakeReq { 713 if x, ok := x.GetReqOneof().(*HandshakerReq_ClientStart); ok { 714 return x.ClientStart 715 } 716 return nil 717 } 718 719 func (x *HandshakerReq) GetServerStart() *StartServerHandshakeReq { 720 if x, ok := x.GetReqOneof().(*HandshakerReq_ServerStart); ok { 721 return x.ServerStart 722 } 723 return nil 724 } 725 726 func (x *HandshakerReq) GetNext() *NextHandshakeMessageReq { 727 if x, ok := x.GetReqOneof().(*HandshakerReq_Next); ok { 728 return x.Next 729 } 730 return nil 731 } 732 733 type isHandshakerReq_ReqOneof interface { 734 isHandshakerReq_ReqOneof() 735 } 736 737 type HandshakerReq_ClientStart struct { 738 // The start client handshake request message. 739 ClientStart *StartClientHandshakeReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"` 740 } 741 742 type HandshakerReq_ServerStart struct { 743 // The start server handshake request message. 744 ServerStart *StartServerHandshakeReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"` 745 } 746 747 type HandshakerReq_Next struct { 748 // The next handshake request message. 749 Next *NextHandshakeMessageReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"` 750 } 751 752 func (*HandshakerReq_ClientStart) isHandshakerReq_ReqOneof() {} 753 754 func (*HandshakerReq_ServerStart) isHandshakerReq_ReqOneof() {} 755 756 func (*HandshakerReq_Next) isHandshakerReq_ReqOneof() {} 757 758 type HandshakerResult struct { 759 state protoimpl.MessageState 760 sizeCache protoimpl.SizeCache 761 unknownFields protoimpl.UnknownFields 762 763 // The application protocol negotiated for this connection. 764 ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"` 765 // The record protocol negotiated for this connection. 766 RecordProtocol string `protobuf:"bytes,2,opt,name=record_protocol,json=recordProtocol,proto3" json:"record_protocol,omitempty"` 767 // Cryptographic key data. The key data may be more than the key length 768 // required for the record protocol, thus the client of the handshaker 769 // service needs to truncate the key data into the right key length. 770 KeyData []byte `protobuf:"bytes,3,opt,name=key_data,json=keyData,proto3" json:"key_data,omitempty"` 771 // The authenticated identity of the peer. 772 PeerIdentity *Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"` 773 // The local identity used in the handshake. 774 LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` 775 // Indicate whether the handshaker service client should keep the channel 776 // between the handshaker service open, e.g., in order to handle 777 // post-handshake messages in the future. 778 KeepChannelOpen bool `protobuf:"varint,6,opt,name=keep_channel_open,json=keepChannelOpen,proto3" json:"keep_channel_open,omitempty"` 779 // The RPC protocol versions supported by the peer. 780 PeerRpcVersions *RpcProtocolVersions `protobuf:"bytes,7,opt,name=peer_rpc_versions,json=peerRpcVersions,proto3" json:"peer_rpc_versions,omitempty"` 781 // The maximum frame size of the peer. 782 MaxFrameSize uint32 `protobuf:"varint,8,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 783 } 784 785 func (x *HandshakerResult) Reset() { 786 *x = HandshakerResult{} 787 if protoimpl.UnsafeEnabled { 788 mi := &file_grpc_gcp_handshaker_proto_msgTypes[7] 789 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 790 ms.StoreMessageInfo(mi) 791 } 792 } 793 794 func (x *HandshakerResult) String() string { 795 return protoimpl.X.MessageStringOf(x) 796 } 797 798 func (*HandshakerResult) ProtoMessage() {} 799 800 func (x *HandshakerResult) ProtoReflect() protoreflect.Message { 801 mi := &file_grpc_gcp_handshaker_proto_msgTypes[7] 802 if protoimpl.UnsafeEnabled && x != nil { 803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 804 if ms.LoadMessageInfo() == nil { 805 ms.StoreMessageInfo(mi) 806 } 807 return ms 808 } 809 return mi.MessageOf(x) 810 } 811 812 // Deprecated: Use HandshakerResult.ProtoReflect.Descriptor instead. 813 func (*HandshakerResult) Descriptor() ([]byte, []int) { 814 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{7} 815 } 816 817 func (x *HandshakerResult) GetApplicationProtocol() string { 818 if x != nil { 819 return x.ApplicationProtocol 820 } 821 return "" 822 } 823 824 func (x *HandshakerResult) GetRecordProtocol() string { 825 if x != nil { 826 return x.RecordProtocol 827 } 828 return "" 829 } 830 831 func (x *HandshakerResult) GetKeyData() []byte { 832 if x != nil { 833 return x.KeyData 834 } 835 return nil 836 } 837 838 func (x *HandshakerResult) GetPeerIdentity() *Identity { 839 if x != nil { 840 return x.PeerIdentity 841 } 842 return nil 843 } 844 845 func (x *HandshakerResult) GetLocalIdentity() *Identity { 846 if x != nil { 847 return x.LocalIdentity 848 } 849 return nil 850 } 851 852 func (x *HandshakerResult) GetKeepChannelOpen() bool { 853 if x != nil { 854 return x.KeepChannelOpen 855 } 856 return false 857 } 858 859 func (x *HandshakerResult) GetPeerRpcVersions() *RpcProtocolVersions { 860 if x != nil { 861 return x.PeerRpcVersions 862 } 863 return nil 864 } 865 866 func (x *HandshakerResult) GetMaxFrameSize() uint32 { 867 if x != nil { 868 return x.MaxFrameSize 869 } 870 return 0 871 } 872 873 type HandshakerStatus struct { 874 state protoimpl.MessageState 875 sizeCache protoimpl.SizeCache 876 unknownFields protoimpl.UnknownFields 877 878 // The status code. This could be the gRPC status code. 879 Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` 880 // The status details. 881 Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` 882 } 883 884 func (x *HandshakerStatus) Reset() { 885 *x = HandshakerStatus{} 886 if protoimpl.UnsafeEnabled { 887 mi := &file_grpc_gcp_handshaker_proto_msgTypes[8] 888 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 889 ms.StoreMessageInfo(mi) 890 } 891 } 892 893 func (x *HandshakerStatus) String() string { 894 return protoimpl.X.MessageStringOf(x) 895 } 896 897 func (*HandshakerStatus) ProtoMessage() {} 898 899 func (x *HandshakerStatus) ProtoReflect() protoreflect.Message { 900 mi := &file_grpc_gcp_handshaker_proto_msgTypes[8] 901 if protoimpl.UnsafeEnabled && x != nil { 902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 903 if ms.LoadMessageInfo() == nil { 904 ms.StoreMessageInfo(mi) 905 } 906 return ms 907 } 908 return mi.MessageOf(x) 909 } 910 911 // Deprecated: Use HandshakerStatus.ProtoReflect.Descriptor instead. 912 func (*HandshakerStatus) Descriptor() ([]byte, []int) { 913 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{8} 914 } 915 916 func (x *HandshakerStatus) GetCode() uint32 { 917 if x != nil { 918 return x.Code 919 } 920 return 0 921 } 922 923 func (x *HandshakerStatus) GetDetails() string { 924 if x != nil { 925 return x.Details 926 } 927 return "" 928 } 929 930 type HandshakerResp struct { 931 state protoimpl.MessageState 932 sizeCache protoimpl.SizeCache 933 unknownFields protoimpl.UnknownFields 934 935 // Frames to be given to the peer for the NextHandshakeMessageReq. May be 936 // empty if no out_frames have to be sent to the peer or if in_bytes in the 937 // HandshakerReq are incomplete. All the non-empty out frames must be sent to 938 // the peer even if the handshaker status is not OK as these frames may 939 // contain the alert frames. 940 OutFrames []byte `protobuf:"bytes,1,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"` 941 // Number of bytes in the in_bytes consumed by the handshaker. It is possible 942 // that part of in_bytes in HandshakerReq was unrelated to the handshake 943 // process. 944 BytesConsumed uint32 `protobuf:"varint,2,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"` 945 // This is set iff the handshake was successful. out_frames may still be set 946 // to frames that needs to be forwarded to the peer. 947 Result *HandshakerResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` 948 // Status of the handshaker. 949 Status *HandshakerStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` 950 } 951 952 func (x *HandshakerResp) Reset() { 953 *x = HandshakerResp{} 954 if protoimpl.UnsafeEnabled { 955 mi := &file_grpc_gcp_handshaker_proto_msgTypes[9] 956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 957 ms.StoreMessageInfo(mi) 958 } 959 } 960 961 func (x *HandshakerResp) String() string { 962 return protoimpl.X.MessageStringOf(x) 963 } 964 965 func (*HandshakerResp) ProtoMessage() {} 966 967 func (x *HandshakerResp) ProtoReflect() protoreflect.Message { 968 mi := &file_grpc_gcp_handshaker_proto_msgTypes[9] 969 if protoimpl.UnsafeEnabled && x != nil { 970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 971 if ms.LoadMessageInfo() == nil { 972 ms.StoreMessageInfo(mi) 973 } 974 return ms 975 } 976 return mi.MessageOf(x) 977 } 978 979 // Deprecated: Use HandshakerResp.ProtoReflect.Descriptor instead. 980 func (*HandshakerResp) Descriptor() ([]byte, []int) { 981 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{9} 982 } 983 984 func (x *HandshakerResp) GetOutFrames() []byte { 985 if x != nil { 986 return x.OutFrames 987 } 988 return nil 989 } 990 991 func (x *HandshakerResp) GetBytesConsumed() uint32 { 992 if x != nil { 993 return x.BytesConsumed 994 } 995 return 0 996 } 997 998 func (x *HandshakerResp) GetResult() *HandshakerResult { 999 if x != nil { 1000 return x.Result 1001 } 1002 return nil 1003 } 1004 1005 func (x *HandshakerResp) GetStatus() *HandshakerStatus { 1006 if x != nil { 1007 return x.Status 1008 } 1009 return nil 1010 } 1011 1012 var File_grpc_gcp_handshaker_proto protoreflect.FileDescriptor 1013 1014 var file_grpc_gcp_handshaker_proto_rawDesc = []byte{ 1015 0x0a, 0x19, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x73, 1016 0x68, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x72, 0x70, 1017 0x63, 0x2e, 0x67, 0x63, 0x70, 0x1a, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f, 1018 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 1019 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 1020 0x74, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 1021 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1022 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 1023 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, 1024 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 1025 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 1026 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 1027 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 1028 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 1029 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 1030 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 1031 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 1032 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x61, 1033 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1034 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 1035 0x69, 0x74, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 1036 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 1037 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 1038 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1039 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 1040 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10, 1041 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 1042 0x22, 0xd3, 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1043 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x1b, 1044 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 1045 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 1046 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 1047 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x19, 1048 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 1049 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 1050 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1051 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 1052 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x29, 1053 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1054 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 1055 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x11, 0x74, 0x61, 0x72, 1056 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 1057 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1058 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 1059 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 1060 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 1061 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 1062 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 1063 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x65, 1064 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 1065 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1066 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 1067 0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 1068 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 1069 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x72, 1070 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 1071 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 1072 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 1073 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 1074 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1075 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 1076 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1077 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 1078 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 1079 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 1080 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 1081 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 1082 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 1083 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 1084 0x3d, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 1085 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 1086 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x6c, 1087 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa5, 1088 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 1089 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 1090 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 1091 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 1092 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 1093 0x6d, 0x0a, 0x14, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x61, 0x72, 1094 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 1095 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 1096 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 1097 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 1098 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x68, 0x61, 0x6e, 0x64, 0x73, 1099 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x19, 1100 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 1101 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 1102 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 1103 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 1104 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 1105 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 1106 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 1107 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1108 0x74, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1109 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1110 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 1111 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 1112 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 1113 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 1114 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 1115 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6b, 0x0a, 0x18, 0x48, 0x61, 0x6e, 1116 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 1117 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 1118 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 1119 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 1120 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 1121 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 1122 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x17, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x61, 1123 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 1124 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 1125 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xe5, 0x01, 0x0a, 1126 0x0d, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x46, 1127 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 1128 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1129 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x73, 1130 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 1131 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 1132 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 1133 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 1134 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48, 1135 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x37, 1136 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 1137 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x61, 0x6e, 0x64, 1138 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x48, 1139 0x00, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x5f, 0x6f, 1140 0x6e, 0x65, 0x6f, 0x66, 0x22, 0x9a, 0x03, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 1141 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 1142 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1143 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 1144 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 1145 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 1146 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f, 1147 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 1148 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 1149 0x12, 0x37, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 1150 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 1151 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x65, 0x65, 1152 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 1153 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 1154 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 1155 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 1156 0x74, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61, 1157 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 1158 0x0f, 0x6b, 0x65, 0x65, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 1159 0x12, 0x49, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 1160 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 1161 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 1162 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 1163 0x52, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 1164 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 1165 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, 1166 0x65, 0x22, 0x40, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 1167 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 1168 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 1169 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 1170 0x69, 0x6c, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 1171 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x72, 1172 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x46, 1173 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 1174 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 1175 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06, 1176 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1177 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 1178 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 1179 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 1180 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 1181 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 1182 0x61, 0x74, 0x75, 0x73, 0x2a, 0x4a, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 1183 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x48, 0x41, 0x4e, 1184 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 1185 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 1186 0x03, 0x54, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4c, 0x54, 0x53, 0x10, 0x02, 1187 0x2a, 0x45, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1188 0x63, 0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 1189 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 1190 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x07, 1191 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x02, 0x32, 0x5b, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73, 1192 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0b, 1193 0x44, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x72, 1194 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 1195 0x72, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1196 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 1197 0x28, 0x01, 0x30, 0x01, 0x42, 0x6b, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 1198 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x0f, 0x48, 1199 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 1200 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 1201 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 1202 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1203 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x63, 1204 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1205 } 1206 1207 var ( 1208 file_grpc_gcp_handshaker_proto_rawDescOnce sync.Once 1209 file_grpc_gcp_handshaker_proto_rawDescData = file_grpc_gcp_handshaker_proto_rawDesc 1210 ) 1211 1212 func file_grpc_gcp_handshaker_proto_rawDescGZIP() []byte { 1213 file_grpc_gcp_handshaker_proto_rawDescOnce.Do(func() { 1214 file_grpc_gcp_handshaker_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_gcp_handshaker_proto_rawDescData) 1215 }) 1216 return file_grpc_gcp_handshaker_proto_rawDescData 1217 } 1218 1219 var file_grpc_gcp_handshaker_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1220 var file_grpc_gcp_handshaker_proto_msgTypes = make([]protoimpl.MessageInfo, 12) 1221 var file_grpc_gcp_handshaker_proto_goTypes = []interface{}{ 1222 (HandshakeProtocol)(0), // 0: grpc.gcp.HandshakeProtocol 1223 (NetworkProtocol)(0), // 1: grpc.gcp.NetworkProtocol 1224 (*Endpoint)(nil), // 2: grpc.gcp.Endpoint 1225 (*Identity)(nil), // 3: grpc.gcp.Identity 1226 (*StartClientHandshakeReq)(nil), // 4: grpc.gcp.StartClientHandshakeReq 1227 (*ServerHandshakeParameters)(nil), // 5: grpc.gcp.ServerHandshakeParameters 1228 (*StartServerHandshakeReq)(nil), // 6: grpc.gcp.StartServerHandshakeReq 1229 (*NextHandshakeMessageReq)(nil), // 7: grpc.gcp.NextHandshakeMessageReq 1230 (*HandshakerReq)(nil), // 8: grpc.gcp.HandshakerReq 1231 (*HandshakerResult)(nil), // 9: grpc.gcp.HandshakerResult 1232 (*HandshakerStatus)(nil), // 10: grpc.gcp.HandshakerStatus 1233 (*HandshakerResp)(nil), // 11: grpc.gcp.HandshakerResp 1234 nil, // 12: grpc.gcp.Identity.AttributesEntry 1235 nil, // 13: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry 1236 (*RpcProtocolVersions)(nil), // 14: grpc.gcp.RpcProtocolVersions 1237 } 1238 var file_grpc_gcp_handshaker_proto_depIdxs = []int32{ 1239 1, // 0: grpc.gcp.Endpoint.protocol:type_name -> grpc.gcp.NetworkProtocol 1240 12, // 1: grpc.gcp.Identity.attributes:type_name -> grpc.gcp.Identity.AttributesEntry 1241 0, // 2: grpc.gcp.StartClientHandshakeReq.handshake_security_protocol:type_name -> grpc.gcp.HandshakeProtocol 1242 3, // 3: grpc.gcp.StartClientHandshakeReq.target_identities:type_name -> grpc.gcp.Identity 1243 3, // 4: grpc.gcp.StartClientHandshakeReq.local_identity:type_name -> grpc.gcp.Identity 1244 2, // 5: grpc.gcp.StartClientHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint 1245 2, // 6: grpc.gcp.StartClientHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint 1246 14, // 7: grpc.gcp.StartClientHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1247 3, // 8: grpc.gcp.ServerHandshakeParameters.local_identities:type_name -> grpc.gcp.Identity 1248 13, // 9: grpc.gcp.StartServerHandshakeReq.handshake_parameters:type_name -> grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry 1249 2, // 10: grpc.gcp.StartServerHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint 1250 2, // 11: grpc.gcp.StartServerHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint 1251 14, // 12: grpc.gcp.StartServerHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1252 4, // 13: grpc.gcp.HandshakerReq.client_start:type_name -> grpc.gcp.StartClientHandshakeReq 1253 6, // 14: grpc.gcp.HandshakerReq.server_start:type_name -> grpc.gcp.StartServerHandshakeReq 1254 7, // 15: grpc.gcp.HandshakerReq.next:type_name -> grpc.gcp.NextHandshakeMessageReq 1255 3, // 16: grpc.gcp.HandshakerResult.peer_identity:type_name -> grpc.gcp.Identity 1256 3, // 17: grpc.gcp.HandshakerResult.local_identity:type_name -> grpc.gcp.Identity 1257 14, // 18: grpc.gcp.HandshakerResult.peer_rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1258 9, // 19: grpc.gcp.HandshakerResp.result:type_name -> grpc.gcp.HandshakerResult 1259 10, // 20: grpc.gcp.HandshakerResp.status:type_name -> grpc.gcp.HandshakerStatus 1260 5, // 21: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry.value:type_name -> grpc.gcp.ServerHandshakeParameters 1261 8, // 22: grpc.gcp.HandshakerService.DoHandshake:input_type -> grpc.gcp.HandshakerReq 1262 11, // 23: grpc.gcp.HandshakerService.DoHandshake:output_type -> grpc.gcp.HandshakerResp 1263 23, // [23:24] is the sub-list for method output_type 1264 22, // [22:23] is the sub-list for method input_type 1265 22, // [22:22] is the sub-list for extension type_name 1266 22, // [22:22] is the sub-list for extension extendee 1267 0, // [0:22] is the sub-list for field type_name 1268 } 1269 1270 func init() { file_grpc_gcp_handshaker_proto_init() } 1271 func file_grpc_gcp_handshaker_proto_init() { 1272 if File_grpc_gcp_handshaker_proto != nil { 1273 return 1274 } 1275 file_grpc_gcp_transport_security_common_proto_init() 1276 if !protoimpl.UnsafeEnabled { 1277 file_grpc_gcp_handshaker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1278 switch v := v.(*Endpoint); i { 1279 case 0: 1280 return &v.state 1281 case 1: 1282 return &v.sizeCache 1283 case 2: 1284 return &v.unknownFields 1285 default: 1286 return nil 1287 } 1288 } 1289 file_grpc_gcp_handshaker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1290 switch v := v.(*Identity); i { 1291 case 0: 1292 return &v.state 1293 case 1: 1294 return &v.sizeCache 1295 case 2: 1296 return &v.unknownFields 1297 default: 1298 return nil 1299 } 1300 } 1301 file_grpc_gcp_handshaker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1302 switch v := v.(*StartClientHandshakeReq); i { 1303 case 0: 1304 return &v.state 1305 case 1: 1306 return &v.sizeCache 1307 case 2: 1308 return &v.unknownFields 1309 default: 1310 return nil 1311 } 1312 } 1313 file_grpc_gcp_handshaker_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1314 switch v := v.(*ServerHandshakeParameters); i { 1315 case 0: 1316 return &v.state 1317 case 1: 1318 return &v.sizeCache 1319 case 2: 1320 return &v.unknownFields 1321 default: 1322 return nil 1323 } 1324 } 1325 file_grpc_gcp_handshaker_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1326 switch v := v.(*StartServerHandshakeReq); i { 1327 case 0: 1328 return &v.state 1329 case 1: 1330 return &v.sizeCache 1331 case 2: 1332 return &v.unknownFields 1333 default: 1334 return nil 1335 } 1336 } 1337 file_grpc_gcp_handshaker_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1338 switch v := v.(*NextHandshakeMessageReq); i { 1339 case 0: 1340 return &v.state 1341 case 1: 1342 return &v.sizeCache 1343 case 2: 1344 return &v.unknownFields 1345 default: 1346 return nil 1347 } 1348 } 1349 file_grpc_gcp_handshaker_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1350 switch v := v.(*HandshakerReq); i { 1351 case 0: 1352 return &v.state 1353 case 1: 1354 return &v.sizeCache 1355 case 2: 1356 return &v.unknownFields 1357 default: 1358 return nil 1359 } 1360 } 1361 file_grpc_gcp_handshaker_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1362 switch v := v.(*HandshakerResult); i { 1363 case 0: 1364 return &v.state 1365 case 1: 1366 return &v.sizeCache 1367 case 2: 1368 return &v.unknownFields 1369 default: 1370 return nil 1371 } 1372 } 1373 file_grpc_gcp_handshaker_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1374 switch v := v.(*HandshakerStatus); i { 1375 case 0: 1376 return &v.state 1377 case 1: 1378 return &v.sizeCache 1379 case 2: 1380 return &v.unknownFields 1381 default: 1382 return nil 1383 } 1384 } 1385 file_grpc_gcp_handshaker_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1386 switch v := v.(*HandshakerResp); i { 1387 case 0: 1388 return &v.state 1389 case 1: 1390 return &v.sizeCache 1391 case 2: 1392 return &v.unknownFields 1393 default: 1394 return nil 1395 } 1396 } 1397 } 1398 file_grpc_gcp_handshaker_proto_msgTypes[1].OneofWrappers = []interface{}{ 1399 (*Identity_ServiceAccount)(nil), 1400 (*Identity_Hostname)(nil), 1401 } 1402 file_grpc_gcp_handshaker_proto_msgTypes[6].OneofWrappers = []interface{}{ 1403 (*HandshakerReq_ClientStart)(nil), 1404 (*HandshakerReq_ServerStart)(nil), 1405 (*HandshakerReq_Next)(nil), 1406 } 1407 type x struct{} 1408 out := protoimpl.TypeBuilder{ 1409 File: protoimpl.DescBuilder{ 1410 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1411 RawDescriptor: file_grpc_gcp_handshaker_proto_rawDesc, 1412 NumEnums: 2, 1413 NumMessages: 12, 1414 NumExtensions: 0, 1415 NumServices: 1, 1416 }, 1417 GoTypes: file_grpc_gcp_handshaker_proto_goTypes, 1418 DependencyIndexes: file_grpc_gcp_handshaker_proto_depIdxs, 1419 EnumInfos: file_grpc_gcp_handshaker_proto_enumTypes, 1420 MessageInfos: file_grpc_gcp_handshaker_proto_msgTypes, 1421 }.Build() 1422 File_grpc_gcp_handshaker_proto = out.File 1423 file_grpc_gcp_handshaker_proto_rawDesc = nil 1424 file_grpc_gcp_handshaker_proto_goTypes = nil 1425 file_grpc_gcp_handshaker_proto_depIdxs = nil 1426 }