...

Source file src/github.com/google/s2a-go/internal/proto/s2a_go_proto/s2a.pb.go

Documentation: github.com/google/s2a-go/internal/proto/s2a_go_proto

     1  // Copyright 2021 Google LLC
     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  //    https://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  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.30.0
    18  // 	protoc        v3.21.12
    19  // source: internal/proto/s2a/s2a.proto
    20  
    21  package s2a_go_proto
    22  
    23  import (
    24  	common_go_proto "github.com/google/s2a-go/internal/proto/common_go_proto"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	reflect "reflect"
    28  	sync "sync"
    29  )
    30  
    31  const (
    32  	// Verify that this generated code is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    34  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    36  )
    37  
    38  type AuthenticationMechanism struct {
    39  	state         protoimpl.MessageState
    40  	sizeCache     protoimpl.SizeCache
    41  	unknownFields protoimpl.UnknownFields
    42  
    43  	// (Optional) Application may specify an identity associated to an
    44  	// authentication mechanism. Otherwise, S2A assumes that the authentication
    45  	// mechanism is associated with the default identity. If the default identity
    46  	// cannot be determined, session setup fails.
    47  	Identity *common_go_proto.Identity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
    48  	// Types that are assignable to MechanismOneof:
    49  	//
    50  	//	*AuthenticationMechanism_Token
    51  	MechanismOneof isAuthenticationMechanism_MechanismOneof `protobuf_oneof:"mechanism_oneof"`
    52  }
    53  
    54  func (x *AuthenticationMechanism) Reset() {
    55  	*x = AuthenticationMechanism{}
    56  	if protoimpl.UnsafeEnabled {
    57  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[0]
    58  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    59  		ms.StoreMessageInfo(mi)
    60  	}
    61  }
    62  
    63  func (x *AuthenticationMechanism) String() string {
    64  	return protoimpl.X.MessageStringOf(x)
    65  }
    66  
    67  func (*AuthenticationMechanism) ProtoMessage() {}
    68  
    69  func (x *AuthenticationMechanism) ProtoReflect() protoreflect.Message {
    70  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[0]
    71  	if protoimpl.UnsafeEnabled && x != nil {
    72  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    73  		if ms.LoadMessageInfo() == nil {
    74  			ms.StoreMessageInfo(mi)
    75  		}
    76  		return ms
    77  	}
    78  	return mi.MessageOf(x)
    79  }
    80  
    81  // Deprecated: Use AuthenticationMechanism.ProtoReflect.Descriptor instead.
    82  func (*AuthenticationMechanism) Descriptor() ([]byte, []int) {
    83  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{0}
    84  }
    85  
    86  func (x *AuthenticationMechanism) GetIdentity() *common_go_proto.Identity {
    87  	if x != nil {
    88  		return x.Identity
    89  	}
    90  	return nil
    91  }
    92  
    93  func (m *AuthenticationMechanism) GetMechanismOneof() isAuthenticationMechanism_MechanismOneof {
    94  	if m != nil {
    95  		return m.MechanismOneof
    96  	}
    97  	return nil
    98  }
    99  
   100  func (x *AuthenticationMechanism) GetToken() string {
   101  	if x, ok := x.GetMechanismOneof().(*AuthenticationMechanism_Token); ok {
   102  		return x.Token
   103  	}
   104  	return ""
   105  }
   106  
   107  type isAuthenticationMechanism_MechanismOneof interface {
   108  	isAuthenticationMechanism_MechanismOneof()
   109  }
   110  
   111  type AuthenticationMechanism_Token struct {
   112  	// A token that the application uses to authenticate itself to the S2A.
   113  	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
   114  }
   115  
   116  func (*AuthenticationMechanism_Token) isAuthenticationMechanism_MechanismOneof() {}
   117  
   118  type ClientSessionStartReq struct {
   119  	state         protoimpl.MessageState
   120  	sizeCache     protoimpl.SizeCache
   121  	unknownFields protoimpl.UnknownFields
   122  
   123  	// The application protocols supported by the client, e.g., "grpc".
   124  	ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
   125  	// (Optional) The minimum TLS version number that the S2A's handshaker module
   126  	// will use to set up the session. If this field is not provided, S2A will use
   127  	// the minimum version it supports.
   128  	MinTlsVersion common_go_proto.TLSVersion `protobuf:"varint,2,opt,name=min_tls_version,json=minTlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"min_tls_version,omitempty"`
   129  	// (Optional) The maximum TLS version number that the S2A's handshaker module
   130  	// will use to set up the session. If this field is not provided, S2A will use
   131  	// the maximum version it supports.
   132  	MaxTlsVersion common_go_proto.TLSVersion `protobuf:"varint,3,opt,name=max_tls_version,json=maxTlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"max_tls_version,omitempty"`
   133  	// The TLS ciphersuites that the client is willing to support.
   134  	TlsCiphersuites []common_go_proto.Ciphersuite `protobuf:"varint,4,rep,packed,name=tls_ciphersuites,json=tlsCiphersuites,proto3,enum=s2a.proto.Ciphersuite" json:"tls_ciphersuites,omitempty"`
   135  	// (Optional) Describes which server identities are acceptable by the client.
   136  	// If target identities are provided and none of them matches the peer
   137  	// identity of the server, session setup fails.
   138  	TargetIdentities []*common_go_proto.Identity `protobuf:"bytes,5,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"`
   139  	// (Optional) Application may specify a local identity. Otherwise, S2A chooses
   140  	// the default local identity. If the default identity cannot be determined,
   141  	// session setup fails.
   142  	LocalIdentity *common_go_proto.Identity `protobuf:"bytes,6,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   143  	// The target name that is used by S2A to configure SNI in the TLS handshake.
   144  	// It is also used to perform server authorization check if avaiable. This
   145  	// check is intended to verify that the peer authenticated identity is
   146  	// authorized to run a service with the target name.
   147  	// This field MUST only contain the host portion of the server address. It
   148  	// MUST not contain the scheme or the port number. For example, if the server
   149  	// address is dns://www.example.com:443, the value of this field should be
   150  	// set to www.example.com.
   151  	TargetName string `protobuf:"bytes,7,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
   152  }
   153  
   154  func (x *ClientSessionStartReq) Reset() {
   155  	*x = ClientSessionStartReq{}
   156  	if protoimpl.UnsafeEnabled {
   157  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[1]
   158  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   159  		ms.StoreMessageInfo(mi)
   160  	}
   161  }
   162  
   163  func (x *ClientSessionStartReq) String() string {
   164  	return protoimpl.X.MessageStringOf(x)
   165  }
   166  
   167  func (*ClientSessionStartReq) ProtoMessage() {}
   168  
   169  func (x *ClientSessionStartReq) ProtoReflect() protoreflect.Message {
   170  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[1]
   171  	if protoimpl.UnsafeEnabled && x != nil {
   172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   173  		if ms.LoadMessageInfo() == nil {
   174  			ms.StoreMessageInfo(mi)
   175  		}
   176  		return ms
   177  	}
   178  	return mi.MessageOf(x)
   179  }
   180  
   181  // Deprecated: Use ClientSessionStartReq.ProtoReflect.Descriptor instead.
   182  func (*ClientSessionStartReq) Descriptor() ([]byte, []int) {
   183  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{1}
   184  }
   185  
   186  func (x *ClientSessionStartReq) GetApplicationProtocols() []string {
   187  	if x != nil {
   188  		return x.ApplicationProtocols
   189  	}
   190  	return nil
   191  }
   192  
   193  func (x *ClientSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion {
   194  	if x != nil {
   195  		return x.MinTlsVersion
   196  	}
   197  	return common_go_proto.TLSVersion(0)
   198  }
   199  
   200  func (x *ClientSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion {
   201  	if x != nil {
   202  		return x.MaxTlsVersion
   203  	}
   204  	return common_go_proto.TLSVersion(0)
   205  }
   206  
   207  func (x *ClientSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite {
   208  	if x != nil {
   209  		return x.TlsCiphersuites
   210  	}
   211  	return nil
   212  }
   213  
   214  func (x *ClientSessionStartReq) GetTargetIdentities() []*common_go_proto.Identity {
   215  	if x != nil {
   216  		return x.TargetIdentities
   217  	}
   218  	return nil
   219  }
   220  
   221  func (x *ClientSessionStartReq) GetLocalIdentity() *common_go_proto.Identity {
   222  	if x != nil {
   223  		return x.LocalIdentity
   224  	}
   225  	return nil
   226  }
   227  
   228  func (x *ClientSessionStartReq) GetTargetName() string {
   229  	if x != nil {
   230  		return x.TargetName
   231  	}
   232  	return ""
   233  }
   234  
   235  type ServerSessionStartReq struct {
   236  	state         protoimpl.MessageState
   237  	sizeCache     protoimpl.SizeCache
   238  	unknownFields protoimpl.UnknownFields
   239  
   240  	// The application protocols supported by the server, e.g., "grpc".
   241  	ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
   242  	// (Optional) The minimum TLS version number that the S2A's handshaker module
   243  	// will use to set up the session. If this field is not provided, S2A will use
   244  	// the minimum version it supports.
   245  	MinTlsVersion common_go_proto.TLSVersion `protobuf:"varint,2,opt,name=min_tls_version,json=minTlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"min_tls_version,omitempty"`
   246  	// (Optional) The maximum TLS version number that the S2A's handshaker module
   247  	// will use to set up the session. If this field is not provided, S2A will use
   248  	// the maximum version it supports.
   249  	MaxTlsVersion common_go_proto.TLSVersion `protobuf:"varint,3,opt,name=max_tls_version,json=maxTlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"max_tls_version,omitempty"`
   250  	// The TLS ciphersuites that the server is willing to support.
   251  	TlsCiphersuites []common_go_proto.Ciphersuite `protobuf:"varint,4,rep,packed,name=tls_ciphersuites,json=tlsCiphersuites,proto3,enum=s2a.proto.Ciphersuite" json:"tls_ciphersuites,omitempty"`
   252  	// (Optional) A list of local identities supported by the server, if
   253  	// specified. Otherwise, S2A chooses the default local identity. If the
   254  	// default identity cannot be determined, session setup fails.
   255  	LocalIdentities []*common_go_proto.Identity `protobuf:"bytes,5,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"`
   256  	// The byte representation of the first handshake message received from the
   257  	// client peer. It is possible that this first message is split into multiple
   258  	// chunks. In this case, the first chunk is sent using this field and the
   259  	// following chunks are sent using the in_bytes field of SessionNextReq
   260  	// Specifically, if the client peer is using S2A, this field contains the
   261  	// bytes in the out_frames field of SessionResp message that the client peer
   262  	// received from its S2A after initiating the handshake.
   263  	InBytes []byte `protobuf:"bytes,6,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   264  }
   265  
   266  func (x *ServerSessionStartReq) Reset() {
   267  	*x = ServerSessionStartReq{}
   268  	if protoimpl.UnsafeEnabled {
   269  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[2]
   270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   271  		ms.StoreMessageInfo(mi)
   272  	}
   273  }
   274  
   275  func (x *ServerSessionStartReq) String() string {
   276  	return protoimpl.X.MessageStringOf(x)
   277  }
   278  
   279  func (*ServerSessionStartReq) ProtoMessage() {}
   280  
   281  func (x *ServerSessionStartReq) ProtoReflect() protoreflect.Message {
   282  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[2]
   283  	if protoimpl.UnsafeEnabled && x != nil {
   284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   285  		if ms.LoadMessageInfo() == nil {
   286  			ms.StoreMessageInfo(mi)
   287  		}
   288  		return ms
   289  	}
   290  	return mi.MessageOf(x)
   291  }
   292  
   293  // Deprecated: Use ServerSessionStartReq.ProtoReflect.Descriptor instead.
   294  func (*ServerSessionStartReq) Descriptor() ([]byte, []int) {
   295  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{2}
   296  }
   297  
   298  func (x *ServerSessionStartReq) GetApplicationProtocols() []string {
   299  	if x != nil {
   300  		return x.ApplicationProtocols
   301  	}
   302  	return nil
   303  }
   304  
   305  func (x *ServerSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion {
   306  	if x != nil {
   307  		return x.MinTlsVersion
   308  	}
   309  	return common_go_proto.TLSVersion(0)
   310  }
   311  
   312  func (x *ServerSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion {
   313  	if x != nil {
   314  		return x.MaxTlsVersion
   315  	}
   316  	return common_go_proto.TLSVersion(0)
   317  }
   318  
   319  func (x *ServerSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite {
   320  	if x != nil {
   321  		return x.TlsCiphersuites
   322  	}
   323  	return nil
   324  }
   325  
   326  func (x *ServerSessionStartReq) GetLocalIdentities() []*common_go_proto.Identity {
   327  	if x != nil {
   328  		return x.LocalIdentities
   329  	}
   330  	return nil
   331  }
   332  
   333  func (x *ServerSessionStartReq) GetInBytes() []byte {
   334  	if x != nil {
   335  		return x.InBytes
   336  	}
   337  	return nil
   338  }
   339  
   340  type SessionNextReq struct {
   341  	state         protoimpl.MessageState
   342  	sizeCache     protoimpl.SizeCache
   343  	unknownFields protoimpl.UnknownFields
   344  
   345  	// The byte representation of session setup, i.e., handshake messages.
   346  	// Specifically:
   347  	//   - All handshake messages sent from the server to the client.
   348  	//   - All, except for the first, handshake messages sent from the client to
   349  	//     the server. Note that the first message is communicated to S2A using the
   350  	//     in_bytes field of ServerSessionStartReq.
   351  	//
   352  	// If the peer is using S2A, this field contains the bytes in the out_frames
   353  	// field of SessionResp message that the peer received from its S2A.
   354  	InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   355  }
   356  
   357  func (x *SessionNextReq) Reset() {
   358  	*x = SessionNextReq{}
   359  	if protoimpl.UnsafeEnabled {
   360  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[3]
   361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   362  		ms.StoreMessageInfo(mi)
   363  	}
   364  }
   365  
   366  func (x *SessionNextReq) String() string {
   367  	return protoimpl.X.MessageStringOf(x)
   368  }
   369  
   370  func (*SessionNextReq) ProtoMessage() {}
   371  
   372  func (x *SessionNextReq) ProtoReflect() protoreflect.Message {
   373  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[3]
   374  	if protoimpl.UnsafeEnabled && x != nil {
   375  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   376  		if ms.LoadMessageInfo() == nil {
   377  			ms.StoreMessageInfo(mi)
   378  		}
   379  		return ms
   380  	}
   381  	return mi.MessageOf(x)
   382  }
   383  
   384  // Deprecated: Use SessionNextReq.ProtoReflect.Descriptor instead.
   385  func (*SessionNextReq) Descriptor() ([]byte, []int) {
   386  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{3}
   387  }
   388  
   389  func (x *SessionNextReq) GetInBytes() []byte {
   390  	if x != nil {
   391  		return x.InBytes
   392  	}
   393  	return nil
   394  }
   395  
   396  type ResumptionTicketReq struct {
   397  	state         protoimpl.MessageState
   398  	sizeCache     protoimpl.SizeCache
   399  	unknownFields protoimpl.UnknownFields
   400  
   401  	// The byte representation of a NewSessionTicket message received from the
   402  	// server.
   403  	InBytes [][]byte `protobuf:"bytes,1,rep,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   404  	// A connection identifier that was created and sent by S2A at the end of a
   405  	// handshake.
   406  	ConnectionId uint64 `protobuf:"varint,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
   407  	// The local identity that was used by S2A during session setup and included
   408  	// in |SessionResult|.
   409  	LocalIdentity *common_go_proto.Identity `protobuf:"bytes,3,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   410  }
   411  
   412  func (x *ResumptionTicketReq) Reset() {
   413  	*x = ResumptionTicketReq{}
   414  	if protoimpl.UnsafeEnabled {
   415  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[4]
   416  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   417  		ms.StoreMessageInfo(mi)
   418  	}
   419  }
   420  
   421  func (x *ResumptionTicketReq) String() string {
   422  	return protoimpl.X.MessageStringOf(x)
   423  }
   424  
   425  func (*ResumptionTicketReq) ProtoMessage() {}
   426  
   427  func (x *ResumptionTicketReq) ProtoReflect() protoreflect.Message {
   428  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[4]
   429  	if protoimpl.UnsafeEnabled && x != nil {
   430  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   431  		if ms.LoadMessageInfo() == nil {
   432  			ms.StoreMessageInfo(mi)
   433  		}
   434  		return ms
   435  	}
   436  	return mi.MessageOf(x)
   437  }
   438  
   439  // Deprecated: Use ResumptionTicketReq.ProtoReflect.Descriptor instead.
   440  func (*ResumptionTicketReq) Descriptor() ([]byte, []int) {
   441  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{4}
   442  }
   443  
   444  func (x *ResumptionTicketReq) GetInBytes() [][]byte {
   445  	if x != nil {
   446  		return x.InBytes
   447  	}
   448  	return nil
   449  }
   450  
   451  func (x *ResumptionTicketReq) GetConnectionId() uint64 {
   452  	if x != nil {
   453  		return x.ConnectionId
   454  	}
   455  	return 0
   456  }
   457  
   458  func (x *ResumptionTicketReq) GetLocalIdentity() *common_go_proto.Identity {
   459  	if x != nil {
   460  		return x.LocalIdentity
   461  	}
   462  	return nil
   463  }
   464  
   465  type SessionReq struct {
   466  	state         protoimpl.MessageState
   467  	sizeCache     protoimpl.SizeCache
   468  	unknownFields protoimpl.UnknownFields
   469  
   470  	// Types that are assignable to ReqOneof:
   471  	//
   472  	//	*SessionReq_ClientStart
   473  	//	*SessionReq_ServerStart
   474  	//	*SessionReq_Next
   475  	//	*SessionReq_ResumptionTicket
   476  	ReqOneof isSessionReq_ReqOneof `protobuf_oneof:"req_oneof"`
   477  	// (Optional) The authentication mechanisms that the client wishes to use to
   478  	// authenticate to the S2A, ordered by preference. The S2A will always use the
   479  	// first authentication mechanism that appears in the list and is supported by
   480  	// the S2A.
   481  	AuthMechanisms []*AuthenticationMechanism `protobuf:"bytes,5,rep,name=auth_mechanisms,json=authMechanisms,proto3" json:"auth_mechanisms,omitempty"`
   482  }
   483  
   484  func (x *SessionReq) Reset() {
   485  	*x = SessionReq{}
   486  	if protoimpl.UnsafeEnabled {
   487  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[5]
   488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   489  		ms.StoreMessageInfo(mi)
   490  	}
   491  }
   492  
   493  func (x *SessionReq) String() string {
   494  	return protoimpl.X.MessageStringOf(x)
   495  }
   496  
   497  func (*SessionReq) ProtoMessage() {}
   498  
   499  func (x *SessionReq) ProtoReflect() protoreflect.Message {
   500  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[5]
   501  	if protoimpl.UnsafeEnabled && x != nil {
   502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   503  		if ms.LoadMessageInfo() == nil {
   504  			ms.StoreMessageInfo(mi)
   505  		}
   506  		return ms
   507  	}
   508  	return mi.MessageOf(x)
   509  }
   510  
   511  // Deprecated: Use SessionReq.ProtoReflect.Descriptor instead.
   512  func (*SessionReq) Descriptor() ([]byte, []int) {
   513  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{5}
   514  }
   515  
   516  func (m *SessionReq) GetReqOneof() isSessionReq_ReqOneof {
   517  	if m != nil {
   518  		return m.ReqOneof
   519  	}
   520  	return nil
   521  }
   522  
   523  func (x *SessionReq) GetClientStart() *ClientSessionStartReq {
   524  	if x, ok := x.GetReqOneof().(*SessionReq_ClientStart); ok {
   525  		return x.ClientStart
   526  	}
   527  	return nil
   528  }
   529  
   530  func (x *SessionReq) GetServerStart() *ServerSessionStartReq {
   531  	if x, ok := x.GetReqOneof().(*SessionReq_ServerStart); ok {
   532  		return x.ServerStart
   533  	}
   534  	return nil
   535  }
   536  
   537  func (x *SessionReq) GetNext() *SessionNextReq {
   538  	if x, ok := x.GetReqOneof().(*SessionReq_Next); ok {
   539  		return x.Next
   540  	}
   541  	return nil
   542  }
   543  
   544  func (x *SessionReq) GetResumptionTicket() *ResumptionTicketReq {
   545  	if x, ok := x.GetReqOneof().(*SessionReq_ResumptionTicket); ok {
   546  		return x.ResumptionTicket
   547  	}
   548  	return nil
   549  }
   550  
   551  func (x *SessionReq) GetAuthMechanisms() []*AuthenticationMechanism {
   552  	if x != nil {
   553  		return x.AuthMechanisms
   554  	}
   555  	return nil
   556  }
   557  
   558  type isSessionReq_ReqOneof interface {
   559  	isSessionReq_ReqOneof()
   560  }
   561  
   562  type SessionReq_ClientStart struct {
   563  	// The client session setup request message.
   564  	ClientStart *ClientSessionStartReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"`
   565  }
   566  
   567  type SessionReq_ServerStart struct {
   568  	// The server session setup request message.
   569  	ServerStart *ServerSessionStartReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"`
   570  }
   571  
   572  type SessionReq_Next struct {
   573  	// The next session setup message request message.
   574  	Next *SessionNextReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"`
   575  }
   576  
   577  type SessionReq_ResumptionTicket struct {
   578  	// The resumption ticket that is received from the server. This message is
   579  	// only accepted by S2A if it is running as a client and if it is received
   580  	// after session setup is complete. If S2A is running as a server and it
   581  	// receives this message, the session is terminated.
   582  	ResumptionTicket *ResumptionTicketReq `protobuf:"bytes,4,opt,name=resumption_ticket,json=resumptionTicket,proto3,oneof"`
   583  }
   584  
   585  func (*SessionReq_ClientStart) isSessionReq_ReqOneof() {}
   586  
   587  func (*SessionReq_ServerStart) isSessionReq_ReqOneof() {}
   588  
   589  func (*SessionReq_Next) isSessionReq_ReqOneof() {}
   590  
   591  func (*SessionReq_ResumptionTicket) isSessionReq_ReqOneof() {}
   592  
   593  type SessionState struct {
   594  	state         protoimpl.MessageState
   595  	sizeCache     protoimpl.SizeCache
   596  	unknownFields protoimpl.UnknownFields
   597  
   598  	// The TLS version number that the S2A's handshaker module used to set up the
   599  	// session.
   600  	TlsVersion common_go_proto.TLSVersion `protobuf:"varint,1,opt,name=tls_version,json=tlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"tls_version,omitempty"`
   601  	// The TLS ciphersuite negotiated by the S2A's handshaker module.
   602  	TlsCiphersuite common_go_proto.Ciphersuite `protobuf:"varint,2,opt,name=tls_ciphersuite,json=tlsCiphersuite,proto3,enum=s2a.proto.Ciphersuite" json:"tls_ciphersuite,omitempty"`
   603  	// The sequence number of the next, incoming, TLS record.
   604  	InSequence uint64 `protobuf:"varint,3,opt,name=in_sequence,json=inSequence,proto3" json:"in_sequence,omitempty"`
   605  	// The sequence number of the next, outgoing, TLS record.
   606  	OutSequence uint64 `protobuf:"varint,4,opt,name=out_sequence,json=outSequence,proto3" json:"out_sequence,omitempty"`
   607  	// The key for the inbound direction.
   608  	InKey []byte `protobuf:"bytes,5,opt,name=in_key,json=inKey,proto3" json:"in_key,omitempty"`
   609  	// The key for the outbound direction.
   610  	OutKey []byte `protobuf:"bytes,6,opt,name=out_key,json=outKey,proto3" json:"out_key,omitempty"`
   611  	// The constant part of the record nonce for the outbound direction.
   612  	InFixedNonce []byte `protobuf:"bytes,7,opt,name=in_fixed_nonce,json=inFixedNonce,proto3" json:"in_fixed_nonce,omitempty"`
   613  	// The constant part of the record nonce for the inbound direction.
   614  	OutFixedNonce []byte `protobuf:"bytes,8,opt,name=out_fixed_nonce,json=outFixedNonce,proto3" json:"out_fixed_nonce,omitempty"`
   615  	// A connection identifier that can be provided to S2A to perform operations
   616  	// related to this connection. This identifier will be stored by the record
   617  	// protocol, and included in the |ResumptionTicketReq| message that is later
   618  	// sent back to S2A. This field is set only for client-side connections.
   619  	ConnectionId uint64 `protobuf:"varint,9,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
   620  	// Set to true if a cached session was reused to do an abbreviated handshake.
   621  	IsHandshakeResumed bool `protobuf:"varint,10,opt,name=is_handshake_resumed,json=isHandshakeResumed,proto3" json:"is_handshake_resumed,omitempty"`
   622  }
   623  
   624  func (x *SessionState) Reset() {
   625  	*x = SessionState{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[6]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *SessionState) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*SessionState) ProtoMessage() {}
   638  
   639  func (x *SessionState) ProtoReflect() protoreflect.Message {
   640  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[6]
   641  	if protoimpl.UnsafeEnabled && x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use SessionState.ProtoReflect.Descriptor instead.
   652  func (*SessionState) Descriptor() ([]byte, []int) {
   653  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{6}
   654  }
   655  
   656  func (x *SessionState) GetTlsVersion() common_go_proto.TLSVersion {
   657  	if x != nil {
   658  		return x.TlsVersion
   659  	}
   660  	return common_go_proto.TLSVersion(0)
   661  }
   662  
   663  func (x *SessionState) GetTlsCiphersuite() common_go_proto.Ciphersuite {
   664  	if x != nil {
   665  		return x.TlsCiphersuite
   666  	}
   667  	return common_go_proto.Ciphersuite(0)
   668  }
   669  
   670  func (x *SessionState) GetInSequence() uint64 {
   671  	if x != nil {
   672  		return x.InSequence
   673  	}
   674  	return 0
   675  }
   676  
   677  func (x *SessionState) GetOutSequence() uint64 {
   678  	if x != nil {
   679  		return x.OutSequence
   680  	}
   681  	return 0
   682  }
   683  
   684  func (x *SessionState) GetInKey() []byte {
   685  	if x != nil {
   686  		return x.InKey
   687  	}
   688  	return nil
   689  }
   690  
   691  func (x *SessionState) GetOutKey() []byte {
   692  	if x != nil {
   693  		return x.OutKey
   694  	}
   695  	return nil
   696  }
   697  
   698  func (x *SessionState) GetInFixedNonce() []byte {
   699  	if x != nil {
   700  		return x.InFixedNonce
   701  	}
   702  	return nil
   703  }
   704  
   705  func (x *SessionState) GetOutFixedNonce() []byte {
   706  	if x != nil {
   707  		return x.OutFixedNonce
   708  	}
   709  	return nil
   710  }
   711  
   712  func (x *SessionState) GetConnectionId() uint64 {
   713  	if x != nil {
   714  		return x.ConnectionId
   715  	}
   716  	return 0
   717  }
   718  
   719  func (x *SessionState) GetIsHandshakeResumed() bool {
   720  	if x != nil {
   721  		return x.IsHandshakeResumed
   722  	}
   723  	return false
   724  }
   725  
   726  type SessionResult struct {
   727  	state         protoimpl.MessageState
   728  	sizeCache     protoimpl.SizeCache
   729  	unknownFields protoimpl.UnknownFields
   730  
   731  	// The application protocol negotiated for this session.
   732  	ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"`
   733  	// The session state at the end. This state contains all cryptographic
   734  	// material required to initialize the record protocol object.
   735  	State *SessionState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
   736  	// The authenticated identity of the peer.
   737  	PeerIdentity *common_go_proto.Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"`
   738  	// The local identity used during session setup. This could be:
   739  	//   - The local identity that the client specifies in ClientSessionStartReq.
   740  	//   - One of the local identities that the server specifies in
   741  	//     ServerSessionStartReq.
   742  	//   - If neither client or server specifies local identities, the S2A picks the
   743  	//     default one. In this case, this field will contain that identity.
   744  	LocalIdentity *common_go_proto.Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   745  	// The SHA256 hash of the local certificate used in the handshake.
   746  	LocalCertFingerprint []byte `protobuf:"bytes,6,opt,name=local_cert_fingerprint,json=localCertFingerprint,proto3" json:"local_cert_fingerprint,omitempty"`
   747  	// The SHA256 hash of the peer certificate used in the handshake.
   748  	PeerCertFingerprint []byte `protobuf:"bytes,7,opt,name=peer_cert_fingerprint,json=peerCertFingerprint,proto3" json:"peer_cert_fingerprint,omitempty"`
   749  }
   750  
   751  func (x *SessionResult) Reset() {
   752  	*x = SessionResult{}
   753  	if protoimpl.UnsafeEnabled {
   754  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[7]
   755  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   756  		ms.StoreMessageInfo(mi)
   757  	}
   758  }
   759  
   760  func (x *SessionResult) String() string {
   761  	return protoimpl.X.MessageStringOf(x)
   762  }
   763  
   764  func (*SessionResult) ProtoMessage() {}
   765  
   766  func (x *SessionResult) ProtoReflect() protoreflect.Message {
   767  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[7]
   768  	if protoimpl.UnsafeEnabled && x != nil {
   769  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   770  		if ms.LoadMessageInfo() == nil {
   771  			ms.StoreMessageInfo(mi)
   772  		}
   773  		return ms
   774  	}
   775  	return mi.MessageOf(x)
   776  }
   777  
   778  // Deprecated: Use SessionResult.ProtoReflect.Descriptor instead.
   779  func (*SessionResult) Descriptor() ([]byte, []int) {
   780  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{7}
   781  }
   782  
   783  func (x *SessionResult) GetApplicationProtocol() string {
   784  	if x != nil {
   785  		return x.ApplicationProtocol
   786  	}
   787  	return ""
   788  }
   789  
   790  func (x *SessionResult) GetState() *SessionState {
   791  	if x != nil {
   792  		return x.State
   793  	}
   794  	return nil
   795  }
   796  
   797  func (x *SessionResult) GetPeerIdentity() *common_go_proto.Identity {
   798  	if x != nil {
   799  		return x.PeerIdentity
   800  	}
   801  	return nil
   802  }
   803  
   804  func (x *SessionResult) GetLocalIdentity() *common_go_proto.Identity {
   805  	if x != nil {
   806  		return x.LocalIdentity
   807  	}
   808  	return nil
   809  }
   810  
   811  func (x *SessionResult) GetLocalCertFingerprint() []byte {
   812  	if x != nil {
   813  		return x.LocalCertFingerprint
   814  	}
   815  	return nil
   816  }
   817  
   818  func (x *SessionResult) GetPeerCertFingerprint() []byte {
   819  	if x != nil {
   820  		return x.PeerCertFingerprint
   821  	}
   822  	return nil
   823  }
   824  
   825  type SessionStatus struct {
   826  	state         protoimpl.MessageState
   827  	sizeCache     protoimpl.SizeCache
   828  	unknownFields protoimpl.UnknownFields
   829  
   830  	// The status code that is specific to the application and the implementation
   831  	// of S2A, e.g., gRPC status code.
   832  	Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
   833  	// The status details.
   834  	Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
   835  }
   836  
   837  func (x *SessionStatus) Reset() {
   838  	*x = SessionStatus{}
   839  	if protoimpl.UnsafeEnabled {
   840  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[8]
   841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   842  		ms.StoreMessageInfo(mi)
   843  	}
   844  }
   845  
   846  func (x *SessionStatus) String() string {
   847  	return protoimpl.X.MessageStringOf(x)
   848  }
   849  
   850  func (*SessionStatus) ProtoMessage() {}
   851  
   852  func (x *SessionStatus) ProtoReflect() protoreflect.Message {
   853  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[8]
   854  	if protoimpl.UnsafeEnabled && x != nil {
   855  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   856  		if ms.LoadMessageInfo() == nil {
   857  			ms.StoreMessageInfo(mi)
   858  		}
   859  		return ms
   860  	}
   861  	return mi.MessageOf(x)
   862  }
   863  
   864  // Deprecated: Use SessionStatus.ProtoReflect.Descriptor instead.
   865  func (*SessionStatus) Descriptor() ([]byte, []int) {
   866  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{8}
   867  }
   868  
   869  func (x *SessionStatus) GetCode() uint32 {
   870  	if x != nil {
   871  		return x.Code
   872  	}
   873  	return 0
   874  }
   875  
   876  func (x *SessionStatus) GetDetails() string {
   877  	if x != nil {
   878  		return x.Details
   879  	}
   880  	return ""
   881  }
   882  
   883  type SessionResp struct {
   884  	state         protoimpl.MessageState
   885  	sizeCache     protoimpl.SizeCache
   886  	unknownFields protoimpl.UnknownFields
   887  
   888  	// The local identity used during session setup. This could be:
   889  	//   - The local identity that the client specifies in ClientSessionStartReq.
   890  	//   - One of the local identities that the server specifies in
   891  	//     ServerSessionStartReq.
   892  	//   - If neither client or server specifies local identities, the S2A picks the
   893  	//     default one. In this case, this field will contain that identity.
   894  	//
   895  	// If the SessionResult is populated, then this must coincide with the local
   896  	// identity specified in the SessionResult; otherwise, the handshake must
   897  	// fail.
   898  	LocalIdentity *common_go_proto.Identity `protobuf:"bytes,1,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   899  	// The byte representation of the frames that should be sent to the peer. May
   900  	// be empty if nothing needs to be sent to the peer or if in_bytes in the
   901  	// SessionReq is incomplete. All bytes in a non-empty out_frames must be sent
   902  	// to the peer even if the session setup status is not OK as these frames may
   903  	// contain appropriate alerts.
   904  	OutFrames []byte `protobuf:"bytes,2,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"`
   905  	// Number of bytes in the in_bytes field that are consumed by S2A. It is
   906  	// possible that part of in_bytes is unrelated to the session setup process.
   907  	BytesConsumed uint32 `protobuf:"varint,3,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"`
   908  	// This is set if the session is successfully set up. out_frames may
   909  	// still be set to frames that needs to be forwarded to the peer.
   910  	Result *SessionResult `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"`
   911  	// Status of session setup at the current stage.
   912  	Status *SessionStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
   913  }
   914  
   915  func (x *SessionResp) Reset() {
   916  	*x = SessionResp{}
   917  	if protoimpl.UnsafeEnabled {
   918  		mi := &file_internal_proto_s2a_s2a_proto_msgTypes[9]
   919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   920  		ms.StoreMessageInfo(mi)
   921  	}
   922  }
   923  
   924  func (x *SessionResp) String() string {
   925  	return protoimpl.X.MessageStringOf(x)
   926  }
   927  
   928  func (*SessionResp) ProtoMessage() {}
   929  
   930  func (x *SessionResp) ProtoReflect() protoreflect.Message {
   931  	mi := &file_internal_proto_s2a_s2a_proto_msgTypes[9]
   932  	if protoimpl.UnsafeEnabled && x != nil {
   933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   934  		if ms.LoadMessageInfo() == nil {
   935  			ms.StoreMessageInfo(mi)
   936  		}
   937  		return ms
   938  	}
   939  	return mi.MessageOf(x)
   940  }
   941  
   942  // Deprecated: Use SessionResp.ProtoReflect.Descriptor instead.
   943  func (*SessionResp) Descriptor() ([]byte, []int) {
   944  	return file_internal_proto_s2a_s2a_proto_rawDescGZIP(), []int{9}
   945  }
   946  
   947  func (x *SessionResp) GetLocalIdentity() *common_go_proto.Identity {
   948  	if x != nil {
   949  		return x.LocalIdentity
   950  	}
   951  	return nil
   952  }
   953  
   954  func (x *SessionResp) GetOutFrames() []byte {
   955  	if x != nil {
   956  		return x.OutFrames
   957  	}
   958  	return nil
   959  }
   960  
   961  func (x *SessionResp) GetBytesConsumed() uint32 {
   962  	if x != nil {
   963  		return x.BytesConsumed
   964  	}
   965  	return 0
   966  }
   967  
   968  func (x *SessionResp) GetResult() *SessionResult {
   969  	if x != nil {
   970  		return x.Result
   971  	}
   972  	return nil
   973  }
   974  
   975  func (x *SessionResp) GetStatus() *SessionStatus {
   976  	if x != nil {
   977  		return x.Status
   978  	}
   979  	return nil
   980  }
   981  
   982  var File_internal_proto_s2a_s2a_proto protoreflect.FileDescriptor
   983  
   984  var file_internal_proto_s2a_s2a_proto_rawDesc = []byte{
   985  	0x0a, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   986  	0x2f, 0x73, 0x32, 0x61, 0x2f, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09,
   987  	0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x72,
   988  	0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
   989  	0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a,
   990  	0x17, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
   991  	0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x12, 0x2f, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e,
   992  	0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x32, 0x61,
   993  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
   994  	0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
   995  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65,
   996  	0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x5f, 0x6f,
   997  	0x6e, 0x65, 0x6f, 0x66, 0x22, 0xac, 0x03, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
   998  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x33,
   999  	0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72,
  1000  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61,
  1001  	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  1002  	0x6f, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76,
  1003  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73,
  1004  	0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73,
  1005  	0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69,
  1006  	0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65,
  1007  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x32,
  1008  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69,
  1009  	0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1010  	0x6e, 0x12, 0x41, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73,
  1011  	0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x32,
  1012  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75,
  1013  	0x69, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75,
  1014  	0x69, 0x74, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69,
  1015  	0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1016  	0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e,
  1017  	0x74, 0x69, 0x74, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e,
  1018  	0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
  1019  	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
  1020  	0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74,
  1021  	0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  1022  	0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
  1023  	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e,
  1024  	0x61, 0x6d, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65,
  1025  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a,
  1026  	0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
  1027  	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70,
  1028  	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
  1029  	0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65,
  1030  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x32,
  1031  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69,
  1032  	0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1033  	0x6e, 0x12, 0x3d, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72,
  1034  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x32, 0x61,
  1035  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1036  	0x6e, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  1037  	0x12, 0x41, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75,
  1038  	0x69, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x32, 0x61,
  1039  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69,
  1040  	0x74, 0x65, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69,
  1041  	0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65,
  1042  	0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
  1043  	0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  1044  	0x74, 0x79, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
  1045  	0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
  1046  	0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x2b,
  1047  	0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71,
  1048  	0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01,
  1049  	0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x13,
  1050  	0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74,
  1051  	0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
  1052  	0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23,
  1053  	0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
  1054  	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
  1055  	0x6e, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65,
  1056  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x32,
  1057  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  1058  	0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22,
  1059  	0xf4, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x45,
  1060  	0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01,
  1061  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1062  	0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74,
  1063  	0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  1064  	0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
  1065  	0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x32,
  1066  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65,
  1067  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52,
  1068  	0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x04,
  1069  	0x6e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x32, 0x61,
  1070  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65,
  1071  	0x78, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a,
  1072  	0x11, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b,
  1073  	0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70,
  1074  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54,
  1075  	0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75,
  1076  	0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0f,
  1077  	0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x73, 0x18,
  1078  	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1079  	0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1080  	0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x4d,
  1081  	0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x71,
  1082  	0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0xa0, 0x03, 0x0a, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69,
  1083  	0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76,
  1084  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73,
  1085  	0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73,
  1086  	0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  1087  	0x3f, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69,
  1088  	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70,
  1089  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69, 0x74, 0x65,
  1090  	0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69, 0x74, 0x65,
  1091  	0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18,
  1092  	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
  1093  	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
  1094  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x71, 0x75,
  1095  	0x65, 0x6e, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05,
  1096  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6f,
  1097  	0x75, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75,
  1098  	0x74, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
  1099  	0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x6e,
  1100  	0x46, 0x69, 0x78, 0x65, 0x64, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x75,
  1101  	0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20,
  1102  	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4e, 0x6f, 0x6e,
  1103  	0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1104  	0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
  1105  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x68, 0x61,
  1106  	0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18,
  1107  	0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61,
  1108  	0x6b, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x53, 0x65,
  1109  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x61,
  1110  	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1111  	0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69,
  1112  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d,
  1113  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  1114  	0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
  1115  	0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a,
  1116  	0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04,
  1117  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1118  	0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x49,
  1119  	0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  1120  	0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1121  	0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e,
  1122  	0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74,
  1123  	0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x65, 0x72,
  1124  	0x74, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20,
  1125  	0x01, 0x28, 0x0c, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69,
  1126  	0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x65,
  1127  	0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69,
  1128  	0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x43, 0x65,
  1129  	0x72, 0x74, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3d, 0x0a,
  1130  	0x0d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12,
  1131  	0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f,
  1132  	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20,
  1133  	0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a,
  1134  	0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0e,
  1135  	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01,
  1136  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1137  	0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  1138  	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f,
  1139  	0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75,
  1140  	0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73,
  1141  	0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
  1142  	0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x30,
  1143  	0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  1144  	0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69,
  1145  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  1146  	0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  1147  	0x32, 0x18, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73,
  1148  	0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
  1149  	0x75, 0x73, 0x32, 0x51, 0x0a, 0x0a, 0x53, 0x32, 0x41, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  1150  	0x12, 0x43, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x55, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  1151  	0x12, 0x15, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73,
  1152  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  1153  	0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22,
  1154  	0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
  1155  	0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x32, 0x61, 0x2f, 0x69,
  1156  	0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x32,
  1157  	0x61, 0x5f, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
  1158  	0x6f, 0x33,
  1159  }
  1160  
  1161  var (
  1162  	file_internal_proto_s2a_s2a_proto_rawDescOnce sync.Once
  1163  	file_internal_proto_s2a_s2a_proto_rawDescData = file_internal_proto_s2a_s2a_proto_rawDesc
  1164  )
  1165  
  1166  func file_internal_proto_s2a_s2a_proto_rawDescGZIP() []byte {
  1167  	file_internal_proto_s2a_s2a_proto_rawDescOnce.Do(func() {
  1168  		file_internal_proto_s2a_s2a_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_proto_s2a_s2a_proto_rawDescData)
  1169  	})
  1170  	return file_internal_proto_s2a_s2a_proto_rawDescData
  1171  }
  1172  
  1173  var file_internal_proto_s2a_s2a_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1174  var file_internal_proto_s2a_s2a_proto_goTypes = []interface{}{
  1175  	(*AuthenticationMechanism)(nil),  // 0: s2a.proto.AuthenticationMechanism
  1176  	(*ClientSessionStartReq)(nil),    // 1: s2a.proto.ClientSessionStartReq
  1177  	(*ServerSessionStartReq)(nil),    // 2: s2a.proto.ServerSessionStartReq
  1178  	(*SessionNextReq)(nil),           // 3: s2a.proto.SessionNextReq
  1179  	(*ResumptionTicketReq)(nil),      // 4: s2a.proto.ResumptionTicketReq
  1180  	(*SessionReq)(nil),               // 5: s2a.proto.SessionReq
  1181  	(*SessionState)(nil),             // 6: s2a.proto.SessionState
  1182  	(*SessionResult)(nil),            // 7: s2a.proto.SessionResult
  1183  	(*SessionStatus)(nil),            // 8: s2a.proto.SessionStatus
  1184  	(*SessionResp)(nil),              // 9: s2a.proto.SessionResp
  1185  	(*common_go_proto.Identity)(nil), // 10: s2a.proto.Identity
  1186  	(common_go_proto.TLSVersion)(0),  // 11: s2a.proto.TLSVersion
  1187  	(common_go_proto.Ciphersuite)(0), // 12: s2a.proto.Ciphersuite
  1188  }
  1189  var file_internal_proto_s2a_s2a_proto_depIdxs = []int32{
  1190  	10, // 0: s2a.proto.AuthenticationMechanism.identity:type_name -> s2a.proto.Identity
  1191  	11, // 1: s2a.proto.ClientSessionStartReq.min_tls_version:type_name -> s2a.proto.TLSVersion
  1192  	11, // 2: s2a.proto.ClientSessionStartReq.max_tls_version:type_name -> s2a.proto.TLSVersion
  1193  	12, // 3: s2a.proto.ClientSessionStartReq.tls_ciphersuites:type_name -> s2a.proto.Ciphersuite
  1194  	10, // 4: s2a.proto.ClientSessionStartReq.target_identities:type_name -> s2a.proto.Identity
  1195  	10, // 5: s2a.proto.ClientSessionStartReq.local_identity:type_name -> s2a.proto.Identity
  1196  	11, // 6: s2a.proto.ServerSessionStartReq.min_tls_version:type_name -> s2a.proto.TLSVersion
  1197  	11, // 7: s2a.proto.ServerSessionStartReq.max_tls_version:type_name -> s2a.proto.TLSVersion
  1198  	12, // 8: s2a.proto.ServerSessionStartReq.tls_ciphersuites:type_name -> s2a.proto.Ciphersuite
  1199  	10, // 9: s2a.proto.ServerSessionStartReq.local_identities:type_name -> s2a.proto.Identity
  1200  	10, // 10: s2a.proto.ResumptionTicketReq.local_identity:type_name -> s2a.proto.Identity
  1201  	1,  // 11: s2a.proto.SessionReq.client_start:type_name -> s2a.proto.ClientSessionStartReq
  1202  	2,  // 12: s2a.proto.SessionReq.server_start:type_name -> s2a.proto.ServerSessionStartReq
  1203  	3,  // 13: s2a.proto.SessionReq.next:type_name -> s2a.proto.SessionNextReq
  1204  	4,  // 14: s2a.proto.SessionReq.resumption_ticket:type_name -> s2a.proto.ResumptionTicketReq
  1205  	0,  // 15: s2a.proto.SessionReq.auth_mechanisms:type_name -> s2a.proto.AuthenticationMechanism
  1206  	11, // 16: s2a.proto.SessionState.tls_version:type_name -> s2a.proto.TLSVersion
  1207  	12, // 17: s2a.proto.SessionState.tls_ciphersuite:type_name -> s2a.proto.Ciphersuite
  1208  	6,  // 18: s2a.proto.SessionResult.state:type_name -> s2a.proto.SessionState
  1209  	10, // 19: s2a.proto.SessionResult.peer_identity:type_name -> s2a.proto.Identity
  1210  	10, // 20: s2a.proto.SessionResult.local_identity:type_name -> s2a.proto.Identity
  1211  	10, // 21: s2a.proto.SessionResp.local_identity:type_name -> s2a.proto.Identity
  1212  	7,  // 22: s2a.proto.SessionResp.result:type_name -> s2a.proto.SessionResult
  1213  	8,  // 23: s2a.proto.SessionResp.status:type_name -> s2a.proto.SessionStatus
  1214  	5,  // 24: s2a.proto.S2AService.SetUpSession:input_type -> s2a.proto.SessionReq
  1215  	9,  // 25: s2a.proto.S2AService.SetUpSession:output_type -> s2a.proto.SessionResp
  1216  	25, // [25:26] is the sub-list for method output_type
  1217  	24, // [24:25] is the sub-list for method input_type
  1218  	24, // [24:24] is the sub-list for extension type_name
  1219  	24, // [24:24] is the sub-list for extension extendee
  1220  	0,  // [0:24] is the sub-list for field type_name
  1221  }
  1222  
  1223  func init() { file_internal_proto_s2a_s2a_proto_init() }
  1224  func file_internal_proto_s2a_s2a_proto_init() {
  1225  	if File_internal_proto_s2a_s2a_proto != nil {
  1226  		return
  1227  	}
  1228  	if !protoimpl.UnsafeEnabled {
  1229  		file_internal_proto_s2a_s2a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1230  			switch v := v.(*AuthenticationMechanism); i {
  1231  			case 0:
  1232  				return &v.state
  1233  			case 1:
  1234  				return &v.sizeCache
  1235  			case 2:
  1236  				return &v.unknownFields
  1237  			default:
  1238  				return nil
  1239  			}
  1240  		}
  1241  		file_internal_proto_s2a_s2a_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1242  			switch v := v.(*ClientSessionStartReq); i {
  1243  			case 0:
  1244  				return &v.state
  1245  			case 1:
  1246  				return &v.sizeCache
  1247  			case 2:
  1248  				return &v.unknownFields
  1249  			default:
  1250  				return nil
  1251  			}
  1252  		}
  1253  		file_internal_proto_s2a_s2a_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1254  			switch v := v.(*ServerSessionStartReq); i {
  1255  			case 0:
  1256  				return &v.state
  1257  			case 1:
  1258  				return &v.sizeCache
  1259  			case 2:
  1260  				return &v.unknownFields
  1261  			default:
  1262  				return nil
  1263  			}
  1264  		}
  1265  		file_internal_proto_s2a_s2a_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1266  			switch v := v.(*SessionNextReq); i {
  1267  			case 0:
  1268  				return &v.state
  1269  			case 1:
  1270  				return &v.sizeCache
  1271  			case 2:
  1272  				return &v.unknownFields
  1273  			default:
  1274  				return nil
  1275  			}
  1276  		}
  1277  		file_internal_proto_s2a_s2a_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1278  			switch v := v.(*ResumptionTicketReq); 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_internal_proto_s2a_s2a_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1290  			switch v := v.(*SessionReq); 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_internal_proto_s2a_s2a_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1302  			switch v := v.(*SessionState); 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_internal_proto_s2a_s2a_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1314  			switch v := v.(*SessionResult); 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_internal_proto_s2a_s2a_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1326  			switch v := v.(*SessionStatus); 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_internal_proto_s2a_s2a_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1338  			switch v := v.(*SessionResp); 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  	}
  1350  	file_internal_proto_s2a_s2a_proto_msgTypes[0].OneofWrappers = []interface{}{
  1351  		(*AuthenticationMechanism_Token)(nil),
  1352  	}
  1353  	file_internal_proto_s2a_s2a_proto_msgTypes[5].OneofWrappers = []interface{}{
  1354  		(*SessionReq_ClientStart)(nil),
  1355  		(*SessionReq_ServerStart)(nil),
  1356  		(*SessionReq_Next)(nil),
  1357  		(*SessionReq_ResumptionTicket)(nil),
  1358  	}
  1359  	type x struct{}
  1360  	out := protoimpl.TypeBuilder{
  1361  		File: protoimpl.DescBuilder{
  1362  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1363  			RawDescriptor: file_internal_proto_s2a_s2a_proto_rawDesc,
  1364  			NumEnums:      0,
  1365  			NumMessages:   10,
  1366  			NumExtensions: 0,
  1367  			NumServices:   1,
  1368  		},
  1369  		GoTypes:           file_internal_proto_s2a_s2a_proto_goTypes,
  1370  		DependencyIndexes: file_internal_proto_s2a_s2a_proto_depIdxs,
  1371  		MessageInfos:      file_internal_proto_s2a_s2a_proto_msgTypes,
  1372  	}.Build()
  1373  	File_internal_proto_s2a_s2a_proto = out.File
  1374  	file_internal_proto_s2a_s2a_proto_rawDesc = nil
  1375  	file_internal_proto_s2a_s2a_proto_goTypes = nil
  1376  	file_internal_proto_s2a_s2a_proto_depIdxs = nil
  1377  }
  1378  

View as plain text