s2a.pb.go raw
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.34.2
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 = []any{
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 any, i int) any {
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 = []any{
1351 (*AuthenticationMechanism_Token)(nil),
1352 }
1353 file_internal_proto_s2a_s2a_proto_msgTypes[5].OneofWrappers = []any{
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