From ec872e607a7e9ec51b0178f68b6f1fa5d4186839 Mon Sep 17 00:00:00 2001 From: Lagovas Date: Mon, 22 Nov 2021 20:06:47 +0200 Subject: [PATCH 1/5] * use AcraTranslatorData instead of fields of services, share all data using only AcraTranslatorData struct * pass build flags in integrations tests * fix overriding test in integrations tests * make getClientID as separate function instead of method of TLSServiceWrapper --- cmd/acra-translator/acra-translator.go | 26 +++++- cmd/acra-translator/common/common.go | 3 + cmd/acra-translator/common/factory.go | 26 ------ cmd/acra-translator/common/service.go | 9 +-- cmd/acra-translator/grpc_api/api.pb.go | 8 +- cmd/acra-translator/grpc_api/api.proto | 4 +- cmd/acra-translator/grpc_api/api_test.go | 10 +-- cmd/acra-translator/grpc_api/factory.go | 22 ++--- cmd/acra-translator/grpc_api/service.go | 19 ++--- cmd/acra-translator/grpc_api/service_test.go | 45 +++++------ cmd/acra-translator/grpc_api/tls_service.go | 26 +++--- cmd/acra-translator/server/server.go | 84 ++++++-------------- tests/test.py | 5 +- 13 files changed, 112 insertions(+), 175 deletions(-) delete mode 100644 cmd/acra-translator/common/factory.go diff --git a/cmd/acra-translator/acra-translator.go b/cmd/acra-translator/acra-translator.go index 0b4d2b65c..c6dd259c5 100644 --- a/cmd/acra-translator/acra-translator.go +++ b/cmd/acra-translator/acra-translator.go @@ -42,6 +42,7 @@ import ( filesystemBackendV2CE "github.com/cossacklabs/acra/keystore/v2/keystore/filesystem/backend" "github.com/cossacklabs/acra/logging" "github.com/cossacklabs/acra/network" + "github.com/cossacklabs/acra/poison" "github.com/cossacklabs/acra/pseudonymization" common2 "github.com/cossacklabs/acra/pseudonymization/common" "github.com/cossacklabs/acra/pseudonymization/storage" @@ -377,15 +378,34 @@ func realMain() error { return err } config.SetTokenizer(tokenizer) - serviceFactory, err := grpc_api.NewgRPCServerFactory(tokenizer, keyStore) + poisonCallbacks := poison.NewCallbackStorage() + if config.DetectPoisonRecords() { + // used to turn off poison record detection which rely on HasCallbacks + poisonCallbacks.AddCallback(poison.EmptyCallback{}) + if config.ScriptOnPoison() != "" { + poisonCallbacks.AddCallback(poison.NewExecuteScriptCallback(config.ScriptOnPoison())) + } + // should setup "stopOnPoison" as last poison record callback" + if config.StopOnPoison() { + poisonCallbacks.AddCallback(&poison.StopCallback{}) + } + } + translatorData := &common.TranslatorData{ + Tokenizer: tokenizer, + Config: config, + Keystorage: transportKeystore, + PoisonRecordCallbacks: poisonCallbacks, + UseConnectionClientID: config.GetUseClientIDFromConnection(), + TLSClientIDExtractor: config.GetTLSClientIDExtractor(), + } + grpcServer, err := grpc_api.NewServer(translatorData, config.GRPCConnectionWrapper) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorGeneral).Errorln("Can't initialize gRPC service factory") return err } - var readerServer *server.ReaderServer waitTimeout := time.Duration(*closeConnectionTimeout) * time.Second - readerServer, err = server.NewReaderServer(config, transportKeystore, serviceFactory, waitTimeout) + readerServer, err := server.NewReaderServer(translatorData, grpcServer, waitTimeout) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorCantStartService). Errorf("System error: can't start %s", ServiceName) diff --git a/cmd/acra-translator/common/common.go b/cmd/acra-translator/common/common.go index d7564a821..3fef29df5 100644 --- a/cmd/acra-translator/common/common.go +++ b/cmd/acra-translator/common/common.go @@ -21,10 +21,13 @@ import ( "github.com/cossacklabs/acra/decryptor/base" "github.com/cossacklabs/acra/keystore" "github.com/cossacklabs/acra/network" + tokenCommon "github.com/cossacklabs/acra/pseudonymization/common" ) // TranslatorData connects KeyStorage and Poison records settings for HTTP and gRPC decryptors. type TranslatorData struct { + Tokenizer tokenCommon.Pseudoanonymizer + Config *AcraTranslatorConfig PoisonRecordCallbacks base.PoisonRecordCallbackStorage Keystorage keystore.TranslationKeyStore UseConnectionClientID bool diff --git a/cmd/acra-translator/common/factory.go b/cmd/acra-translator/common/factory.go deleted file mode 100644 index f6ffd53e6..000000000 --- a/cmd/acra-translator/common/factory.go +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2020, Cossack Labs Limited - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package common - -import ( - "google.golang.org/grpc" -) - -// GRPCServerFactory factory which return new generated grpc.Server which implements API -type GRPCServerFactory interface { - New(data *TranslatorData, opts ...grpc.ServerOption) (*grpc.Server, error) -} diff --git a/cmd/acra-translator/common/service.go b/cmd/acra-translator/common/service.go index 2c0565376..cc92e79e0 100644 --- a/cmd/acra-translator/common/service.go +++ b/cmd/acra-translator/common/service.go @@ -29,13 +29,12 @@ type ITranslatorService interface { // TranslatorService service that implements all Acra-Translator functions type TranslatorService struct { data *TranslatorData - tokenizer tokenCommon.Pseudoanonymizer handler crypto.RegistryHandler poisonDetector *crypto.EnvelopeDetector } // NewTranslatorService return new initialized TranslatorService -func NewTranslatorService(translatorData *TranslatorData, tokenizer tokenCommon.Pseudoanonymizer) (*TranslatorService, error) { +func NewTranslatorService(translatorData *TranslatorData) (*TranslatorService, error) { registryHandler := crypto.NewRegistryHandler(translatorData.Keystorage) poisonEnvelopeDetector := crypto.NewEnvelopeDetector() if translatorData.PoisonRecordCallbacks != nil && translatorData.PoisonRecordCallbacks.HasCallbacks() { @@ -44,7 +43,7 @@ func NewTranslatorService(translatorData *TranslatorData, tokenizer tokenCommon. poisonDetector.SetPoisonRecordCallbacks(translatorData.PoisonRecordCallbacks) poisonEnvelopeDetector.AddCallback(poisonDetector) } - return &TranslatorService{data: translatorData, tokenizer: tokenizer, handler: registryHandler, poisonDetector: poisonEnvelopeDetector}, nil + return &TranslatorService{data: translatorData, handler: registryHandler, poisonDetector: poisonEnvelopeDetector}, nil } // Errors possible during decrypting AcraStructs. @@ -257,7 +256,7 @@ func (service *TranslatorService) Tokenize(ctx context.Context, data interface{} if len(zoneID) > 0 { tokenContext = tokenCommon.TokenContext{ZoneID: zoneID} } - response, err := service.tokenizer.AnonymizeConsistently(data, tokenContext, dataType) + response, err := service.data.Tokenizer.AnonymizeConsistently(data, tokenContext, dataType) if err != nil { logger.WithError(err).Errorln("Can't tokenize") return nil, ErrTokenize @@ -277,7 +276,7 @@ func (service *TranslatorService) Detokenize(ctx context.Context, data interface } switch dataType { case tokenCommon.TokenType_Bytes, tokenCommon.TokenType_Email, tokenCommon.TokenType_Int32, tokenCommon.TokenType_Int64, tokenCommon.TokenType_String: - sourceData, err := service.tokenizer.Deanonymize(data, tokenContext, dataType) + sourceData, err := service.data.Tokenizer.Deanonymize(data, tokenContext, dataType) if err != nil { logger.WithField("type", dataType).WithError(err).Errorln("Can't tokenize data") return nil, ErrDetokenize diff --git a/cmd/acra-translator/grpc_api/api.pb.go b/cmd/acra-translator/grpc_api/api.pb.go index 00e9025eb..f5cdaf125 100644 --- a/cmd/acra-translator/grpc_api/api.pb.go +++ b/cmd/acra-translator/grpc_api/api.pb.go @@ -1495,9 +1495,11 @@ var file_cmd_acra_translator_grpc_api_api_proto_rawDesc = []byte{ 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x42, 0x1e, 0x5a, 0x1c, 0x63, 0x6d, 0x64, 0x2f, 0x61, 0x63, 0x72, 0x61, - 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x73, 0x61, 0x63, 0x6b, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x61, + 0x63, 0x72, 0x61, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x61, 0x63, 0x72, 0x61, 0x2d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/cmd/acra-translator/grpc_api/api.proto b/cmd/acra-translator/grpc_api/api.proto index 7c666a083..7b5b62918 100644 --- a/cmd/acra-translator/grpc_api/api.proto +++ b/cmd/acra-translator/grpc_api/api.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package grpc_api; -option go_package = "cmd/acra-translator/grpc_api"; +option go_package = "github.com/cossacklabs/acra/cmd/acra-translator/grpc_api"; message DecryptRequest { bytes client_id = 1; @@ -156,4 +156,4 @@ service SearchableEncryption { } rpc GenerateQueryHash (QueryHashRequest) returns (QueryHashResponse) { } -} +} \ No newline at end of file diff --git a/cmd/acra-translator/grpc_api/api_test.go b/cmd/acra-translator/grpc_api/api_test.go index a3f62ca26..a92ff1879 100644 --- a/cmd/acra-translator/grpc_api/api_test.go +++ b/cmd/acra-translator/grpc_api/api_test.go @@ -201,11 +201,11 @@ func TestDecryptGRPCService_Decrypt(t *testing.T) { poisonCallbacks := poison.NewCallbackStorage() poisonCallbacks.AddCallback(poison.EmptyCallback{}) translatorData := &common.TranslatorData{PoisonRecordCallbacks: poisonCallbacks, Keystorage: keystore} - serviceImplementation, err := common.NewTranslatorService(translatorData, nil) + serviceImplementation, err := common.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service, err := NewTranslatorService(serviceImplementation, translatorData, nil, keystore) + service, err := NewTranslatorService(serviceImplementation, translatorData) if err != nil { t.Fatal(err) } @@ -282,7 +282,7 @@ func TestDecryptGRPCService_Decrypt(t *testing.T) { // create processor without callbacks poisonCallbacks = poison.NewCallbackStorage() translatorData.PoisonRecordCallbacks = poisonCallbacks - serviceImplementation, err = common.NewTranslatorService(translatorData, nil) + serviceImplementation, err = common.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } @@ -312,11 +312,11 @@ func TestDecryptGRPCService_Encrypt(t *testing.T) { keystore.EncryptionKeypair = encryptionKey translatorData := &common.TranslatorData{Keystorage: keystore} - serviceImplementation, err := common.NewTranslatorService(translatorData, nil) + serviceImplementation, err := common.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service, err := NewTranslatorService(serviceImplementation, translatorData, nil, keystore) + service, err := NewTranslatorService(serviceImplementation, translatorData) if err != nil { t.Fatal(err) } diff --git a/cmd/acra-translator/grpc_api/factory.go b/cmd/acra-translator/grpc_api/factory.go index 43a74d1d2..6be840b0a 100644 --- a/cmd/acra-translator/grpc_api/factory.go +++ b/cmd/acra-translator/grpc_api/factory.go @@ -2,31 +2,19 @@ package grpc_api import ( "github.com/cossacklabs/acra/cmd/acra-translator/common" - keystore2 "github.com/cossacklabs/acra/keystore" "github.com/cossacklabs/acra/logging" "github.com/cossacklabs/acra/network" - tokenCommon "github.com/cossacklabs/acra/pseudonymization/common" "github.com/sirupsen/logrus" "google.golang.org/grpc" "google.golang.org/grpc/reflection" ) -// GRPCServerFactory used to create new grpc.Server instances configured to implement AcraTranslator methods -type GRPCServerFactory struct { - tokenizer tokenCommon.Pseudoanonymizer - keystore keystore2.TranslationKeyStore -} - -// NewgRPCServerFactory return new GRPCServerFactory -func NewgRPCServerFactory(tokenizer tokenCommon.Pseudoanonymizer, keystore keystore2.TranslationKeyStore) (*GRPCServerFactory, error) { - return &GRPCServerFactory{tokenizer: tokenizer, keystore: keystore}, nil -} - -// New return new grpc.Server with AcraTranslator methods as gRPC service -func (g *GRPCServerFactory) New(data *common.TranslatorData, opts ...grpc.ServerOption) (*grpc.Server, error) { +// NewServer return new grpc.Server with AcraTranslator methods as gRPC service +func NewServer(data *common.TranslatorData, connectionWrapper network.GRPCConnectionWrapper) (*grpc.Server, error) { + opts := []grpc.ServerOption{grpc.Creds(connectionWrapper)} var newService DecryptService var err error - serviceImplementation, err := common.NewTranslatorService(data, g.tokenizer) + serviceImplementation, err := common.NewTranslatorService(data) if err != nil { logrus.WithError(err).Errorln("Can't initialize service implementation") return nil, err @@ -37,7 +25,7 @@ func (g *GRPCServerFactory) New(data *common.TranslatorData, opts ...grpc.Server return nil, err } - newService, err = NewTranslatorService(serviceWithMetrics, data, g.tokenizer, g.keystore) + newService, err = NewTranslatorService(serviceWithMetrics, data) if err != nil { return nil, err } diff --git a/cmd/acra-translator/grpc_api/service.go b/cmd/acra-translator/grpc_api/service.go index f0c2965eb..32a273c1c 100644 --- a/cmd/acra-translator/grpc_api/service.go +++ b/cmd/acra-translator/grpc_api/service.go @@ -22,7 +22,6 @@ import ( "github.com/cossacklabs/acra/cmd/acra-translator/common" "github.com/cossacklabs/acra/decryptor/base" "github.com/cossacklabs/acra/hmac" - "github.com/cossacklabs/acra/keystore" "github.com/cossacklabs/acra/logging" tokenCommon "github.com/cossacklabs/acra/pseudonymization/common" "github.com/sirupsen/logrus" @@ -37,20 +36,18 @@ var ErrNoTranslatorData = errors.New("passed nil TranslatorData") // TranslatorService implements gRPC service type TranslatorService struct { - data *common.TranslatorData - logger *logrus.Entry - tokenizer tokenCommon.Pseudoanonymizer - keystore keystore.TranslationKeyStore - service common.ITranslatorService + data *common.TranslatorData + logger *logrus.Entry + service common.ITranslatorService } // NewTranslatorService return new TranslatorService instance -func NewTranslatorService(service common.ITranslatorService, translatorData *common.TranslatorData, tokenizer tokenCommon.Pseudoanonymizer, keystore keystore.TranslationKeyStore) (*TranslatorService, error) { +func NewTranslatorService(service common.ITranslatorService, translatorData *common.TranslatorData) (*TranslatorService, error) { logger := logrus.WithField("service", "grpc_service") if translatorData == nil { return nil, ErrNoTranslatorData } - return &TranslatorService{translatorData, logger, tokenizer, keystore, service}, nil + return &TranslatorService{translatorData, logger, service}, nil } // Errors possible during decrypting AcraStructs. @@ -252,9 +249,9 @@ func (service *TranslatorService) EncryptSymSearchable(ctx context.Context, requ var err error logger.Debugln("Load encryption symmetric key from KeyStore") if request.ZoneId != nil { - symKeys, err = service.keystore.GetZoneIDSymmetricKeys(request.ZoneId) + symKeys, err = service.data.Keystorage.GetZoneIDSymmetricKeys(request.ZoneId) } else { - symKeys, err = service.keystore.GetClientIDSymmetricKeys(request.ClientId) + symKeys, err = service.data.Keystorage.GetClientIDSymmetricKeys(request.ClientId) } if err != nil { logger.WithError(err).Errorln("Can't load symmetric keys") @@ -264,7 +261,7 @@ func (service *TranslatorService) EncryptSymSearchable(ctx context.Context, requ return nil, ErrKeysNotFound } logger.Debugln("Load secret key for HMAC from KeyStore") - hmacKey, err := service.keystore.GetHMACSecretKey(request.ClientId) + hmacKey, err := service.data.Keystorage.GetHMACSecretKey(request.ClientId) if err != nil { logger.WithError(err).Errorln("Can't load HMAC key") return nil, ErrKeysNotFound diff --git a/cmd/acra-translator/grpc_api/service_test.go b/cmd/acra-translator/grpc_api/service_test.go index c063346d6..31ad2130d 100644 --- a/cmd/acra-translator/grpc_api/service_test.go +++ b/cmd/acra-translator/grpc_api/service_test.go @@ -133,12 +133,12 @@ func testTranslatorService(storage common.TokenStorage, t *testing.T) { if err != nil { t.Fatal(err) } - translatorData := &translatorCommon.TranslatorData{nil, nil, false, nil} - serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData, tokenizer) + translatorData := &translatorCommon.TranslatorData{tokenizer, nil, nil, nil, false, nil} + serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service := &TranslatorService{service: serviceImplementation, tokenizer: tokenizer, logger: logrus.NewEntry(logrus.StandardLogger())} + service := &TranslatorService{service: serviceImplementation, logger: logrus.NewEntry(logrus.StandardLogger())} testValues := []interface{}{ []byte(`test data`), "test data", @@ -202,11 +202,11 @@ func TestTranslatorService_Search(t *testing.T) { keystore.On("GetZonePublicKey", mock.MatchedBy(func([]byte) bool { return true })).Return(zoneIDKeypair.Public, nil) keystore.On("GetClientIDEncryptionPublicKey", mock.MatchedBy(func([]byte) bool { return true })).Return(clientIDKeypair.Public, nil) translatorData := &translatorCommon.TranslatorData{PoisonRecordCallbacks: poison.NewCallbackStorage(), Keystorage: keystore} - serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData, nil) + serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service, err := NewTranslatorService(serviceImplementation, translatorData, nil, keystore) + service, err := NewTranslatorService(serviceImplementation, translatorData) if err != nil { t.Fatal(err) } @@ -287,11 +287,11 @@ func TestTranslatorService_SearchSym(t *testing.T) { nil) translatorData := &translatorCommon.TranslatorData{Keystorage: keystore} - serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData, nil) + serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service, err := NewTranslatorService(serviceImplementation, translatorData, nil, keystore) + service, err := NewTranslatorService(serviceImplementation, translatorData) if err != nil { t.Fatal(err) } @@ -374,11 +374,11 @@ func TestTranslatorService_DecryptionPoisonRecord(t *testing.T) { callback := &testPoisonCallback{} callbackStorage.AddCallback(callback) translatorData := &translatorCommon.TranslatorData{PoisonRecordCallbacks: callbackStorage, Keystorage: keyStorage} - serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData, nil) + serviceImplementation, err := translatorCommon.NewTranslatorService(translatorData) if err != nil { t.Fatal(err) } - service, err := NewTranslatorService(serviceImplementation, translatorData, nil, keyStorage) + service, err := NewTranslatorService(serviceImplementation, translatorData) if err != nil { t.Fatal(err) } @@ -461,11 +461,7 @@ type testgRPCServer struct { unixPath string } -type TestgRPCKeystore interface { - keystore.TranslationKeyStore -} - -func newServer(storage TestgRPCKeystore, data *translatorCommon.TranslatorData, opts []grpc.ServerOption, t *testing.T) *testgRPCServer { +func newServer(data *translatorCommon.TranslatorData, wrapper network.GRPCConnectionWrapper, t *testing.T) *testgRPCServer { tokenStore, err := storage2.NewMemoryTokenStorage() if err != nil { t.Fatal(err) @@ -474,11 +470,8 @@ func newServer(storage TestgRPCKeystore, data *translatorCommon.TranslatorData, if err != nil { t.Fatal(err) } - factory, err := NewgRPCServerFactory(tokenizer, storage) - if err != nil { - t.Fatal(err) - } - server, err := factory.New(data, opts...) + data.Tokenizer = tokenizer + server, err := NewServer(data, wrapper) if err != nil { t.Fatal(err) } @@ -496,7 +489,7 @@ func newServer(storage TestgRPCKeystore, data *translatorCommon.TranslatorData, } // newServerTLSgRPCOpts returns server options to use TLS as transport using keys from tests/ssl/[ca|acra-server] -func newServerTLSgRPCOpts(t *testing.T, idExtractor network.TLSClientIDExtractor) []grpc.ServerOption { +func newServerTLSgRPCOpts(t *testing.T, idExtractor network.TLSClientIDExtractor) network.GRPCConnectionWrapper { verifier := network.NewCertVerifierAll() workingDirectory := tests.GetSourceRootDirectory(t) serverConfig, err := network.NewTLSConfig("localhost", filepath.Join(workingDirectory, "tests/ssl/ca/ca.crt"), filepath.Join(workingDirectory, "tests/ssl/acra-server/acra-server.key"), filepath.Join(workingDirectory, "tests/ssl/acra-server/acra-server.crt"), 4, verifier) @@ -507,7 +500,7 @@ func newServerTLSgRPCOpts(t *testing.T, idExtractor network.TLSClientIDExtractor if err != nil { t.Fatal(err) } - return []grpc.ServerOption{grpc.Creds(wrapper)} + return wrapper } func newClientTLSConfig(t *testing.T) *tls.Config { @@ -576,8 +569,8 @@ func TestNewFactoryWithClientIDFromTLSConnection(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), connectionTimeout*5) defer cancel() data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage} - serverOpts := newServerTLSgRPCOpts(t, idExtractor) - server := newServer(keystorage, data, serverOpts, t) + wrapper := newServerTLSgRPCOpts(t, idExtractor) + server := newServer(data, wrapper, t) defer server.Stop() clientConfig := newClientTLSConfig(t) clientOpts := newClientTLSgRPCOpts(clientConfig, t) @@ -690,8 +683,7 @@ func TestNewFactoryWithClientIDFromSecureSessionConnectionSuccess(t *testing.T) t.Fatal(err) } secureSessionWrapper.AddOnServerHandshakeCallback(network.TraceConnectionCallback{}) - serverOpts := []grpc.ServerOption{grpc.Creds(secureSessionWrapper)} - server := newServer(keystorage, data, serverOpts, t) + server := newServer(data, secureSessionWrapper, t) defer server.Stop() clientOpts := []grpc.DialOption{getSecureSessionDialer(secureSessionWrapper), grpc.WithInsecure()} @@ -706,8 +698,7 @@ func TestNewFactoryWithClientIDFromSecureSessionConnectionSuccess(t *testing.T) func TestNewFactoryWithClientIDFromSecureSessionConnectionInvalidAuthInfo(t *testing.T) { keystorage := &mocks.TranslationKeyStore{} data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage} - serverOpts := []grpc.ServerOption{} - server := newServer(keystorage, data, serverOpts, t) + server := newServer(data, nil, t) defer server.Stop() clientOpts := []grpc.DialOption{grpc.WithInsecure(), getgRPCUnixDialer()} conn := server.NewConnection(clientOpts, t) diff --git a/cmd/acra-translator/grpc_api/tls_service.go b/cmd/acra-translator/grpc_api/tls_service.go index 271a0bf9f..9b49ae6ab 100644 --- a/cmd/acra-translator/grpc_api/tls_service.go +++ b/cmd/acra-translator/grpc_api/tls_service.go @@ -22,17 +22,17 @@ type TLSDecryptServiceWrapper struct { tlsClientIDExtractor network.TLSClientIDExtractor } -func (wrapper *TLSDecryptServiceWrapper) getClientID(ctx context.Context) ([]byte, error) { +func getClientID(ctx context.Context, extractor network.TLSClientIDExtractor) ([]byte, error) { peerInfo, ok := peer.FromContext(ctx) if !ok { return nil, network.ErrCantExtractClientID } - return network.GetClientIDFromAuthInfo(peerInfo.AuthInfo, wrapper.tlsClientIDExtractor) + return network.GetClientIDFromAuthInfo(peerInfo.AuthInfo, extractor) } // Encrypt encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) Encrypt(ctx context.Context, request *EncryptRequest) (*EncryptResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -42,7 +42,7 @@ func (wrapper *TLSDecryptServiceWrapper) Encrypt(ctx context.Context, request *E // Decrypt encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) Decrypt(ctx context.Context, request *DecryptRequest) (*DecryptResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -52,7 +52,7 @@ func (wrapper *TLSDecryptServiceWrapper) Decrypt(ctx context.Context, request *D // Tokenize encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) Tokenize(ctx context.Context, request *TokenizeRequest) (*TokenizeResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -62,7 +62,7 @@ func (wrapper *TLSDecryptServiceWrapper) Tokenize(ctx context.Context, request * // Detokenize encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) Detokenize(ctx context.Context, request *TokenizeRequest) (*TokenizeResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -72,7 +72,7 @@ func (wrapper *TLSDecryptServiceWrapper) Detokenize(ctx context.Context, request // DecryptSym encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) DecryptSym(ctx context.Context, request *DecryptSymRequest) (*DecryptSymResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -82,7 +82,7 @@ func (wrapper *TLSDecryptServiceWrapper) DecryptSym(ctx context.Context, request // EncryptSym encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) EncryptSym(ctx context.Context, request *EncryptSymRequest) (*EncryptSymResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -92,7 +92,7 @@ func (wrapper *TLSDecryptServiceWrapper) EncryptSym(ctx context.Context, request // EncryptSearchable encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) EncryptSearchable(ctx context.Context, request *SearchableEncryptionRequest) (*SearchableEncryptionResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -102,7 +102,7 @@ func (wrapper *TLSDecryptServiceWrapper) EncryptSearchable(ctx context.Context, // DecryptSearchable encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) DecryptSearchable(ctx context.Context, request *SearchableDecryptionRequest) (*SearchableDecryptionResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -112,7 +112,7 @@ func (wrapper *TLSDecryptServiceWrapper) DecryptSearchable(ctx context.Context, // EncryptSymSearchable encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) EncryptSymSearchable(ctx context.Context, request *SearchableSymEncryptionRequest) (*SearchableSymEncryptionResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -122,7 +122,7 @@ func (wrapper *TLSDecryptServiceWrapper) EncryptSymSearchable(ctx context.Contex // DecryptSymSearchable encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) DecryptSymSearchable(ctx context.Context, request *SearchableSymDecryptionRequest) (*SearchableSymDecryptionResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } @@ -132,7 +132,7 @@ func (wrapper *TLSDecryptServiceWrapper) DecryptSymSearchable(ctx context.Contex // GenerateQueryHash encrypt with clientID from connection info func (wrapper *TLSDecryptServiceWrapper) GenerateQueryHash(ctx context.Context, request *QueryHashRequest) (*QueryHashResponse, error) { - clientID, err := wrapper.getClientID(ctx) + clientID, err := getClientID(ctx, wrapper.tlsClientIDExtractor) if err != nil { return nil, err } diff --git a/cmd/acra-translator/server/server.go b/cmd/acra-translator/server/server.go index a7e005ed6..0323a2149 100644 --- a/cmd/acra-translator/server/server.go +++ b/cmd/acra-translator/server/server.go @@ -18,7 +18,6 @@ package server import ( "context" - "github.com/cossacklabs/acra/poison" "github.com/cossacklabs/acra/utils" "net" "os" @@ -27,7 +26,6 @@ import ( "github.com/cossacklabs/acra/cmd/acra-translator/common" "github.com/cossacklabs/acra/cmd/acra-translator/http_api" - "github.com/cossacklabs/acra/keystore" "github.com/cossacklabs/acra/logging" "github.com/cossacklabs/acra/network" log "github.com/sirupsen/logrus" @@ -37,16 +35,13 @@ import ( // ReaderServer represents AcraTranslator server, connects with KeyStorage, configuration file, // gRPC and HTTP request parsers. type ReaderServer struct { - config *common.AcraTranslatorConfig - keystorage keystore.TranslationKeyStore + translatorData *common.TranslatorData connectionManager *network.ConnectionManager grpcServer *grpc.Server waitTimeout time.Duration - grpcServerFactory common.GRPCServerFactory backgroundWorkersSync sync.WaitGroup listenerHTTP net.Listener listenerGRPC net.Listener - poisonRecordCallbacks *poison.CallbackStorage } const ( @@ -55,26 +50,12 @@ const ( ) // NewReaderServer creates Reader server with provided params. -func NewReaderServer(config *common.AcraTranslatorConfig, keystorage keystore.TranslationKeyStore, grpcServerFactory common.GRPCServerFactory, waitTimeout time.Duration) (server *ReaderServer, err error) { - poisonCallbacks := poison.NewCallbackStorage() - if config.DetectPoisonRecords() { - // used to turn off poison record detection which rely on HasCallbacks - poisonCallbacks.AddCallback(poison.EmptyCallback{}) - if config.ScriptOnPoison() != "" { - poisonCallbacks.AddCallback(poison.NewExecuteScriptCallback(config.ScriptOnPoison())) - } - // should setup "stopOnPoison" as last poison record callback" - if config.StopOnPoison() { - poisonCallbacks.AddCallback(&poison.StopCallback{}) - } - } +func NewReaderServer(translatorData *common.TranslatorData, grpcServer *grpc.Server, waitTimeout time.Duration) (server *ReaderServer, err error) { return &ReaderServer{ - grpcServerFactory: grpcServerFactory, - waitTimeout: waitTimeout, - config: config, - keystorage: keystorage, - connectionManager: network.NewConnectionManager(), - poisonRecordCallbacks: poisonCallbacks, + grpcServer: grpcServer, + translatorData: translatorData, + waitTimeout: waitTimeout, + connectionManager: network.NewConnectionManager(), }, nil } @@ -116,34 +97,28 @@ func (server *ReaderServer) Start(parentContext context.Context) { logger := logging.GetLoggerFromContext(parentContext) errCh := make(chan error) - decryptorData := &common.TranslatorData{ - Keystorage: server.keystorage, - PoisonRecordCallbacks: server.poisonRecordCallbacks, - UseConnectionClientID: server.config.GetUseClientIDFromConnection(), - TLSClientIDExtractor: server.config.GetTLSClientIDExtractor(), - } - if server.config.IncomingConnectionHTTPString() != "" { - listener, err := network.Listen(server.config.IncomingConnectionHTTPString()) + if server.translatorData.Config.IncomingConnectionHTTPString() != "" { + listener, err := network.Listen(server.translatorData.Config.IncomingConnectionHTTPString()) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorTranslatorCantAcceptNewHTTPConnection). Errorln("Can't create HTTP listener from specified connection string") return } - server.config.HTTPConnectionWrapper.SetListener(listener) - server.listenerHTTP = server.config.HTTPConnectionWrapper - server.startHTTP(parentContext, logger, decryptorData, errCh, server.config.HTTPConnectionWrapper) + server.translatorData.Config.HTTPConnectionWrapper.SetListener(listener) + server.listenerHTTP = server.translatorData.Config.HTTPConnectionWrapper + server.startHTTP(parentContext, logger, server.translatorData, errCh, server.translatorData.Config.HTTPConnectionWrapper) } // provide way to register new services and custom server - if server.config.IncomingConnectionGRPCString() != "" { - listener, err := network.Listen(server.config.IncomingConnectionGRPCString()) + if server.translatorData.Config.IncomingConnectionGRPCString() != "" { + listener, err := network.Listen(server.translatorData.Config.IncomingConnectionGRPCString()) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorTranslatorCantAcceptNewGRPCConnection). Errorln("Can't create gRPC listener from specified connection string") return } server.listenerGRPC = listener - server.startGRPC(parentContext, logger, decryptorData, errCh, listener) + server.startGRPC(parentContext, logger, server.translatorData, errCh, listener) } select { @@ -163,15 +138,15 @@ func (server *ReaderServer) startHTTP(parentContext context.Context, logger *log go func() { defer server.backgroundWorkersSync.Done() httpContext := logging.SetLoggerToContext(parentContext, logger.WithField(ConnectionTypeKey, HTTPConnectionType)) - logger.WithField("connection_string", server.config.IncomingConnectionHTTPString()).Infof("Start process HTTP requests") - translatorService, err := common.NewTranslatorService(decryptorData, server.config.GetTokenizer()) + logger.WithField("connection_string", server.translatorData.Config.IncomingConnectionHTTPString()).Infof("Start process HTTP requests") + translatorService, err := common.NewTranslatorService(decryptorData) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorTranslatorCantHandleHTTPConnection). Errorln("Can't initialize translator service") errCh <- err return } - options := []http_api.ServiceOption{http_api.WithContext(httpContext), http_api.WithConnectionContextHandler(server.config.HTTPConnectionWrapper.OnConnectionContext)} + options := []http_api.ServiceOption{http_api.WithContext(httpContext), http_api.WithConnectionContextHandler(server.translatorData.Config.HTTPConnectionWrapper.OnConnectionContext)} httpService, err := http_api.NewHTTPService(translatorService, decryptorData, options...) if err != nil { log.WithError(err).WithField(logging.FieldKeyEventCode, logging.EventCodeErrorTranslatorCantHandleHTTPConnection). @@ -194,17 +169,9 @@ func (server *ReaderServer) startGRPC(ctx context.Context, logger *log.Entry, de go func() { defer server.backgroundWorkersSync.Done() grpcLogger := logger.WithField(ConnectionTypeKey, GRPCConnectionType) - logger.WithField("connection_string", server.config.IncomingConnectionGRPCString()).Infof("Start process gRPC requests") - opts := []grpc.ServerOption{grpc.Creds(server.config.GRPCConnectionWrapper)} + logger.WithField("connection_string", server.translatorData.Config.IncomingConnectionGRPCString()).Infof("Start process gRPC requests") server.listenerGRPC = listener - grpcServer, err := server.grpcServerFactory.New(decryptorData, opts...) - if err != nil { - logger.WithError(err).Errorln("Can't create new gRPC server") - errCh <- err - return - } - server.grpcServer = grpcServer - if err := grpcServer.Serve(listener); err != nil { + if err := server.grpcServer.Serve(listener); err != nil { grpcLogger.Errorf("failed to serve: %v", err) server.Stop() errCh <- err @@ -230,12 +197,7 @@ func (server *ReaderServer) StartFromFileDescriptor(parentContext context.Contex logger := logging.GetLoggerFromContext(parentContext) errCh := make(chan error) - decryptorData := &common.TranslatorData{ - Keystorage: server.keystorage, - PoisonRecordCallbacks: server.poisonRecordCallbacks, - UseConnectionClientID: server.config.GetUseClientIDFromConnection(), - } - if server.config.IncomingConnectionHTTPString() != "" { + if server.translatorData.Config.IncomingConnectionHTTPString() != "" { // create HTTP listener from correspondent file descriptor file := os.NewFile(fdHTTP, httpFilenamePlaceholder) if file == nil { @@ -256,11 +218,11 @@ func (server *ReaderServer) StartFromFileDescriptor(parentContext context.Contex return } server.listenerHTTP = listenerWithFileDescriptor - server.startHTTP(parentContext, logger, decryptorData, errCh, listenerWithFileDescriptor) + server.startHTTP(parentContext, logger, server.translatorData, errCh, listenerWithFileDescriptor) } // provide way to register new services and custom server - if server.config.IncomingConnectionGRPCString() != "" { + if server.translatorData.Config.IncomingConnectionGRPCString() != "" { // load gRPC listener from correspondent file descriptor file := os.NewFile(fdGRPC, grpcFilenamePlaceholder) if file == nil { @@ -281,7 +243,7 @@ func (server *ReaderServer) StartFromFileDescriptor(parentContext context.Contex return } server.listenerGRPC = listenerWithFileDescriptor - server.startGRPC(parentContext, logger, decryptorData, errCh, listenerWithFileDescriptor) + server.startGRPC(parentContext, logger, server.translatorData, errCh, listenerWithFileDescriptor) } select { diff --git a/tests/test.py b/tests/test.py index ca9f4640a..45cf6e0c2 100644 --- a/tests/test.py +++ b/tests/test.py @@ -600,11 +600,12 @@ def acra_api_connection_string(port): build_args=DEFAULT_BUILD_ARGS), ] +BUILD_TAGS = os.environ.get("TEST_BUILD_TAGS", '') def build_binaries(): """Build Acra CE binaries for testing.""" builds = [ - (binary.from_version, ['go', 'build'] + binary.build_args + ['github.com/cossacklabs/acra/cmd/{}'.format(binary.name)]) + (binary.from_version, ['go', 'build', '-tags={}'.format(BUILD_TAGS)] + binary.build_args + ['github.com/cossacklabs/acra/cmd/{}'.format(binary.name)]) for binary in BINARIES ] go_version = get_go_version() @@ -2756,7 +2757,7 @@ def testShutdown3(self): return -class TestPoisonRecordWholeCellStatusOff(TestPoisonRecordOffStatusWithAcraBlock): +class TestPoisonRecordWholeCellStatusOffWithAcraBlock(TestPoisonRecordOffStatusWithAcraBlock): WHOLECELL_MODE = True SHUTDOWN = True From e7736cb501ab07bf1bd3b208e05063f405c935bd Mon Sep 17 00:00:00 2001 From: Lagovas Date: Mon, 22 Nov 2021 20:26:59 +0200 Subject: [PATCH 2/5] add registries for registering callbacks on HTTP/gRPC initialization --- cmd/acra-translator/grpc_api/factory.go | 1 + .../grpc_api/server_service_registry.go | 32 ++++++++++++++++++ .../http_api/handler_registry.go | 33 +++++++++++++++++++ cmd/acra-translator/http_api/service.go | 1 + 4 files changed, 67 insertions(+) create mode 100644 cmd/acra-translator/grpc_api/server_service_registry.go create mode 100644 cmd/acra-translator/http_api/handler_registry.go diff --git a/cmd/acra-translator/grpc_api/factory.go b/cmd/acra-translator/grpc_api/factory.go index 6be840b0a..8495f67f5 100644 --- a/cmd/acra-translator/grpc_api/factory.go +++ b/cmd/acra-translator/grpc_api/factory.go @@ -48,6 +48,7 @@ func NewServer(data *common.TranslatorData, connectionWrapper network.GRPCConnec RegisterSearchableEncryptionServer(grpcServer, newService) RegisterReaderSymServer(grpcServer, newService) RegisterWriterSymServer(grpcServer, newService) + OngRPCServerInit(grpcServer, data, newService) // Register reflection service on gRPC server. reflection.Register(grpcServer) return grpcServer, nil diff --git a/cmd/acra-translator/grpc_api/server_service_registry.go b/cmd/acra-translator/grpc_api/server_service_registry.go new file mode 100644 index 000000000..04765872c --- /dev/null +++ b/cmd/acra-translator/grpc_api/server_service_registry.go @@ -0,0 +1,32 @@ +package grpc_api + +import ( + "github.com/cossacklabs/acra/cmd/acra-translator/common" + "google.golang.org/grpc" + "sync" +) + +// GRPCServerSubscriber declares callbacks for gRPC server subscribers +type GRPCServerSubscriber interface { + OnServerInit(server *grpc.Server, data *common.TranslatorData, service DecryptService) +} + +// global registry of gRPC server subscribers +var grpcServerSubscribers = make([]GRPCServerSubscriber, 0, 8) +var lock = sync.Mutex{} + +// AddgRPCServerSubscriber register callback for gRPC server +func AddgRPCServerSubscriber(subscriber GRPCServerSubscriber) { + lock.Lock() + grpcServerSubscribers = append(grpcServerSubscribers, subscriber) + lock.Unlock() +} + +// OngRPCServerInit call all registered callbacks on gRPC server initialization +func OngRPCServerInit(server *grpc.Server, data *common.TranslatorData, service DecryptService) { + lock.Lock() + defer lock.Unlock() + for _, subscriber := range grpcServerSubscribers { + subscriber.OnServerInit(server, data, service) + } +} diff --git a/cmd/acra-translator/http_api/handler_registry.go b/cmd/acra-translator/http_api/handler_registry.go new file mode 100644 index 000000000..7fb32d67c --- /dev/null +++ b/cmd/acra-translator/http_api/handler_registry.go @@ -0,0 +1,33 @@ +package http_api + +import ( + "context" + "github.com/cossacklabs/acra/cmd/acra-translator/common" + "github.com/gin-gonic/gin" + "sync" +) + +// HTTPServerSubscriber interface declares callbacks raised by HTTP server +type HTTPServerSubscriber interface { + OnHTTPServerInit(ctx context.Context, engine *gin.Engine, data *common.TranslatorData, httpService *HTTPService) +} + +// subscribers global list of callbacks for HTTP server instance +var subscribers = make([]HTTPServerSubscriber, 0, 8) +var lock = sync.Mutex{} + +// AddHTTPServerSubscriber register callback to HTTP server +func AddHTTPServerSubscriber(subscriber HTTPServerSubscriber) { + lock.Lock() + subscribers = append(subscribers, subscriber) + lock.Unlock() +} + +// OnHTTPServerInit call all registered callbacks on HTTP server initialization +func OnHTTPServerInit(ctx context.Context, engine *gin.Engine, data *common.TranslatorData, httpService *HTTPService) { + lock.Lock() + defer lock.Unlock() + for _, subscriber := range subscribers { + subscriber.OnHTTPServerInit(ctx, engine, data, httpService) + } +} diff --git a/cmd/acra-translator/http_api/service.go b/cmd/acra-translator/http_api/service.go index c1f8ca472..beb7df041 100644 --- a/cmd/acra-translator/http_api/service.go +++ b/cmd/acra-translator/http_api/service.go @@ -206,6 +206,7 @@ func NewHTTPService(service common.ITranslatorService, translatorData *common.Tr // export json for swagger v2.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, confs...)) } + OnHTTPServerInit(newHTTPService.ctx, engine, translatorData, newHTTPService) server := &http.Server{ Handler: engine, From 5d494cddb58c0224b1abd8de6a26daf8f1f9234b Mon Sep 17 00:00:00 2001 From: Lagovas Date: Wed, 24 Nov 2021 18:28:53 +0200 Subject: [PATCH 3/5] initialize and assign tokenizer to TranslatorData explicitly and outside of newServer function --- cmd/acra-translator/grpc_api/service_test.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/cmd/acra-translator/grpc_api/service_test.go b/cmd/acra-translator/grpc_api/service_test.go index 31ad2130d..75170a1ca 100644 --- a/cmd/acra-translator/grpc_api/service_test.go +++ b/cmd/acra-translator/grpc_api/service_test.go @@ -83,7 +83,7 @@ func responseToRequest(resp *TokenizeResponse) isTokenizeRequest_Value { panic("invalid value") } } -func isEqualDataWithResponse(data1 interface{}, resp *TokenizeResponse) bool { +func isEqualDataWithTokenizeResponse(data1 interface{}, resp *TokenizeResponse) bool { switch val := resp.Response.(type) { case *TokenizeResponse_BytesToken: d, ok := data1.([]byte) @@ -160,7 +160,7 @@ func testTranslatorService(storage common.TokenStorage, t *testing.T) { if err != nil { t.Fatal(err) } - if !isEqualDataWithResponse(data, detokenized) { + if !isEqualDataWithTokenizeResponse(data, detokenized) { t.Fatal("Incorrect tokenization/detokenization") } } @@ -461,7 +461,7 @@ type testgRPCServer struct { unixPath string } -func newServer(data *translatorCommon.TranslatorData, wrapper network.GRPCConnectionWrapper, t *testing.T) *testgRPCServer { +func newTokenizer(t *testing.T) common.Pseudoanonymizer { tokenStore, err := storage2.NewMemoryTokenStorage() if err != nil { t.Fatal(err) @@ -470,7 +470,10 @@ func newServer(data *translatorCommon.TranslatorData, wrapper network.GRPCConnec if err != nil { t.Fatal(err) } - data.Tokenizer = tokenizer + return tokenizer +} + +func newServer(data *translatorCommon.TranslatorData, wrapper network.GRPCConnectionWrapper, t *testing.T) *testgRPCServer { server, err := NewServer(data, wrapper) if err != nil { t.Fatal(err) @@ -568,7 +571,7 @@ func TestNewFactoryWithClientIDFromTLSConnection(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), connectionTimeout*5) defer cancel() - data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage} + data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage, Tokenizer: newTokenizer(t)} wrapper := newServerTLSgRPCOpts(t, idExtractor) server := newServer(data, wrapper, t) defer server.Stop() @@ -677,7 +680,7 @@ func TestNewFactoryWithClientIDFromSecureSessionConnectionSuccess(t *testing.T) ctx, cancel := context.WithTimeout(context.Background(), connectionTimeout*5) defer cancel() - data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage} + data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage, Tokenizer: newTokenizer(t)} secureSessionWrapper, err := network.NewSecureSessionConnectionWrapper(expectedClientID, keystorage) if err != nil { t.Fatal(err) @@ -697,7 +700,7 @@ func TestNewFactoryWithClientIDFromSecureSessionConnectionSuccess(t *testing.T) func TestNewFactoryWithClientIDFromSecureSessionConnectionInvalidAuthInfo(t *testing.T) { keystorage := &mocks.TranslationKeyStore{} - data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage} + data := &translatorCommon.TranslatorData{UseConnectionClientID: true, Keystorage: keystorage, Tokenizer: newTokenizer(t)} server := newServer(data, nil, t) defer server.Stop() clientOpts := []grpc.DialOption{grpc.WithInsecure(), getgRPCUnixDialer()} From 8f18f903bc6d1afdbd686f1b1a15559b42866591 Mon Sep 17 00:00:00 2001 From: Lagovas Date: Thu, 25 Nov 2021 03:31:32 +0200 Subject: [PATCH 4/5] extend makefile with building command of grpc services for tests --- Makefile | 7 ++++--- go.mod | 7 +++++-- go.sum | 30 ++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index af80cbb4e..95731a7a6 100644 --- a/Makefile +++ b/Makefile @@ -187,9 +187,10 @@ help: ## Update protobuf dependencies and regenerate .pb.go from .proto, ## use this target only when it is really needed, not for usual builds build_protobuf: - go get -u github.com/golang/protobuf/proto github.com/golang/protobuf/protoc-gen-go - go get -u google.golang.org/grpc - protoc --go_out=plugins=grpc:. cmd/acra-translator/grpc_api/*.proto + @go get -u github.com/golang/protobuf/proto github.com/golang/protobuf/protoc-gen-go + @go get -u google.golang.org/grpc + @protoc --go_out=plugins=grpc:. -Icmd/acra-translator/grpc_api --go_opt=module=github.com/cossacklabs/acra cmd/acra-translator/grpc_api/*.proto + @python3 -m grpc_tools.protoc -Icmd/acra-translator/grpc_api --proto_path=. --python_out=tests/ --grpc_python_out=tests/ cmd/acra-translator/grpc_api/*.proto ## Build the application in the subdirectory (default) build: diff --git a/go.mod b/go.mod index 6fede2e67..e0e3aa9a3 100644 --- a/go.mod +++ b/go.mod @@ -23,8 +23,11 @@ require ( github.com/swaggo/swag v1.5.1 go.opencensus.io v0.22.4 golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 - golang.org/x/net v0.0.0-20211020060615-d418f374d309 - google.golang.org/grpc v1.41.0 + golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 + golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 // indirect + golang.org/x/text v0.3.7 // indirect + google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1 // indirect + google.golang.org/grpc v1.42.0 google.golang.org/protobuf v1.27.1 gopkg.in/yaml.v2 v2.4.0 ) diff --git a/go.sum b/go.sum index 3c767d7b3..f89b28ed1 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,7 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= @@ -68,6 +69,8 @@ github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QH github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -79,7 +82,11 @@ github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -104,6 +111,7 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= @@ -475,6 +483,7 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -603,8 +612,9 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20211020060615-d418f374d309 h1:A0lJIi+hcTR6aajJH4YqKWwohY4aW9RO7oRMcdv+HKI= -golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 h1:0qxwC5n+ttVOINCBeRHO0nq9X7uy8SDsPoi5OaCdIEI= +golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -658,18 +668,23 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 h1:TyHqChC80pFkXWraUUf6RuB5IqFdQieMLwwCJokV2pc= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -760,8 +775,9 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1 h1:b9mVrqYfq3P4bCdaLg1qtBnPzUYgglsIdjZkL/fQVOE= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -779,8 +795,10 @@ google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 5dd486d13c0ce95cb8f7a5c3c22cb4912088eb0e Mon Sep 17 00:00:00 2001 From: Lagovas Date: Thu, 25 Nov 2021 04:30:32 +0200 Subject: [PATCH 5/5] update grpc dependencies update golang services according to updates https://github.com/grpc/grpc-go/issues/3669 update Makefile with up-to-date building commands --- Makefile | 10 +- cmd/acra-translator/grpc_api/api.pb.go | 1192 +++++------------- cmd/acra-translator/grpc_api/api_grpc.pb.go | 711 +++++++++++ cmd/acra-translator/grpc_api/service.go | 10 +- cmd/acra-translator/grpc_api/tls_service.go | 10 +- tests/api_pb2.py | 1209 +++++++++++++++++-- tests/api_pb2_grpc.py | 568 ++++++++- tests/requirements.txt | 4 +- 8 files changed, 2653 insertions(+), 1061 deletions(-) create mode 100644 cmd/acra-translator/grpc_api/api_grpc.pb.go diff --git a/Makefile b/Makefile index 95731a7a6..f2bef92fe 100644 --- a/Makefile +++ b/Makefile @@ -187,9 +187,13 @@ help: ## Update protobuf dependencies and regenerate .pb.go from .proto, ## use this target only when it is really needed, not for usual builds build_protobuf: - @go get -u github.com/golang/protobuf/proto github.com/golang/protobuf/protoc-gen-go - @go get -u google.golang.org/grpc - @protoc --go_out=plugins=grpc:. -Icmd/acra-translator/grpc_api --go_opt=module=github.com/cossacklabs/acra cmd/acra-translator/grpc_api/*.proto + @go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26 + @go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1 + @protoc --go_out=`pwd` --go-grpc_out=`pwd` \ + --go_opt=module=github.com/cossacklabs/acra \ + --go-grpc_opt=module=github.com/cossacklabs/acra \ + -Icmd/acra-translator/grpc_api \ + cmd/acra-translator/grpc_api/*.proto @python3 -m grpc_tools.protoc -Icmd/acra-translator/grpc_api --proto_path=. --python_out=tests/ --grpc_python_out=tests/ cmd/acra-translator/grpc_api/*.proto ## Build the application in the subdirectory (default) diff --git a/cmd/acra-translator/grpc_api/api.pb.go b/cmd/acra-translator/grpc_api/api.pb.go index f5cdaf125..496f306cc 100644 --- a/cmd/acra-translator/grpc_api/api.pb.go +++ b/cmd/acra-translator/grpc_api/api.pb.go @@ -1,16 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 +// protoc-gen-go v1.26.0 // protoc v3.6.1 -// source: cmd/acra-translator/grpc_api/api.proto +// source: api.proto package grpc_api import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -37,7 +33,7 @@ type DecryptRequest struct { func (x *DecryptRequest) Reset() { *x = DecryptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[0] + mi := &file_api_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50,7 +46,7 @@ func (x *DecryptRequest) String() string { func (*DecryptRequest) ProtoMessage() {} func (x *DecryptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[0] + mi := &file_api_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63,7 +59,7 @@ func (x *DecryptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead. func (*DecryptRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{0} + return file_api_proto_rawDescGZIP(), []int{0} } func (x *DecryptRequest) GetClientId() []byte { @@ -98,7 +94,7 @@ type DecryptResponse struct { func (x *DecryptResponse) Reset() { *x = DecryptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[1] + mi := &file_api_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111,7 +107,7 @@ func (x *DecryptResponse) String() string { func (*DecryptResponse) ProtoMessage() {} func (x *DecryptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[1] + mi := &file_api_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124,7 +120,7 @@ func (x *DecryptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead. func (*DecryptResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{1} + return file_api_proto_rawDescGZIP(), []int{1} } func (x *DecryptResponse) GetData() []byte { @@ -147,7 +143,7 @@ type EncryptRequest struct { func (x *EncryptRequest) Reset() { *x = EncryptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[2] + mi := &file_api_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -160,7 +156,7 @@ func (x *EncryptRequest) String() string { func (*EncryptRequest) ProtoMessage() {} func (x *EncryptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[2] + mi := &file_api_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -173,7 +169,7 @@ func (x *EncryptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead. func (*EncryptRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{2} + return file_api_proto_rawDescGZIP(), []int{2} } func (x *EncryptRequest) GetClientId() []byte { @@ -208,7 +204,7 @@ type EncryptResponse struct { func (x *EncryptResponse) Reset() { *x = EncryptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[3] + mi := &file_api_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -221,7 +217,7 @@ func (x *EncryptResponse) String() string { func (*EncryptResponse) ProtoMessage() {} func (x *EncryptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[3] + mi := &file_api_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -234,7 +230,7 @@ func (x *EncryptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead. func (*EncryptResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{3} + return file_api_proto_rawDescGZIP(), []int{3} } func (x *EncryptResponse) GetAcrastruct() []byte { @@ -263,7 +259,7 @@ type TokenizeRequest struct { func (x *TokenizeRequest) Reset() { *x = TokenizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[4] + mi := &file_api_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -276,7 +272,7 @@ func (x *TokenizeRequest) String() string { func (*TokenizeRequest) ProtoMessage() {} func (x *TokenizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[4] + mi := &file_api_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -289,7 +285,7 @@ func (x *TokenizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenizeRequest.ProtoReflect.Descriptor instead. func (*TokenizeRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{4} + return file_api_proto_rawDescGZIP(), []int{4} } func (x *TokenizeRequest) GetClientId() []byte { @@ -399,7 +395,7 @@ type TokenizeResponse struct { func (x *TokenizeResponse) Reset() { *x = TokenizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[5] + mi := &file_api_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +408,7 @@ func (x *TokenizeResponse) String() string { func (*TokenizeResponse) ProtoMessage() {} func (x *TokenizeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[5] + mi := &file_api_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +421,7 @@ func (x *TokenizeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenizeResponse.ProtoReflect.Descriptor instead. func (*TokenizeResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{5} + return file_api_proto_rawDescGZIP(), []int{5} } func (m *TokenizeResponse) GetResponse() isTokenizeResponse_Response { @@ -517,7 +513,7 @@ type SearchableEncryptionRequest struct { func (x *SearchableEncryptionRequest) Reset() { *x = SearchableEncryptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[6] + mi := &file_api_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -530,7 +526,7 @@ func (x *SearchableEncryptionRequest) String() string { func (*SearchableEncryptionRequest) ProtoMessage() {} func (x *SearchableEncryptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[6] + mi := &file_api_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -543,7 +539,7 @@ func (x *SearchableEncryptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableEncryptionRequest.ProtoReflect.Descriptor instead. func (*SearchableEncryptionRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{6} + return file_api_proto_rawDescGZIP(), []int{6} } func (x *SearchableEncryptionRequest) GetClientId() []byte { @@ -579,7 +575,7 @@ type SearchableEncryptionResponse struct { func (x *SearchableEncryptionResponse) Reset() { *x = SearchableEncryptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[7] + mi := &file_api_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -592,7 +588,7 @@ func (x *SearchableEncryptionResponse) String() string { func (*SearchableEncryptionResponse) ProtoMessage() {} func (x *SearchableEncryptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[7] + mi := &file_api_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -605,7 +601,7 @@ func (x *SearchableEncryptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableEncryptionResponse.ProtoReflect.Descriptor instead. func (*SearchableEncryptionResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{7} + return file_api_proto_rawDescGZIP(), []int{7} } func (x *SearchableEncryptionResponse) GetHash() []byte { @@ -636,7 +632,7 @@ type SearchableDecryptionRequest struct { func (x *SearchableDecryptionRequest) Reset() { *x = SearchableDecryptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[8] + mi := &file_api_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -649,7 +645,7 @@ func (x *SearchableDecryptionRequest) String() string { func (*SearchableDecryptionRequest) ProtoMessage() {} func (x *SearchableDecryptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[8] + mi := &file_api_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -662,7 +658,7 @@ func (x *SearchableDecryptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableDecryptionRequest.ProtoReflect.Descriptor instead. func (*SearchableDecryptionRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{8} + return file_api_proto_rawDescGZIP(), []int{8} } func (x *SearchableDecryptionRequest) GetClientId() []byte { @@ -704,7 +700,7 @@ type SearchableDecryptionResponse struct { func (x *SearchableDecryptionResponse) Reset() { *x = SearchableDecryptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[9] + mi := &file_api_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -717,7 +713,7 @@ func (x *SearchableDecryptionResponse) String() string { func (*SearchableDecryptionResponse) ProtoMessage() {} func (x *SearchableDecryptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[9] + mi := &file_api_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -730,7 +726,7 @@ func (x *SearchableDecryptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableDecryptionResponse.ProtoReflect.Descriptor instead. func (*SearchableDecryptionResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{9} + return file_api_proto_rawDescGZIP(), []int{9} } func (x *SearchableDecryptionResponse) GetData() []byte { @@ -753,7 +749,7 @@ type SearchableSymEncryptionRequest struct { func (x *SearchableSymEncryptionRequest) Reset() { *x = SearchableSymEncryptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[10] + mi := &file_api_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -766,7 +762,7 @@ func (x *SearchableSymEncryptionRequest) String() string { func (*SearchableSymEncryptionRequest) ProtoMessage() {} func (x *SearchableSymEncryptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[10] + mi := &file_api_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -779,7 +775,7 @@ func (x *SearchableSymEncryptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableSymEncryptionRequest.ProtoReflect.Descriptor instead. func (*SearchableSymEncryptionRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{10} + return file_api_proto_rawDescGZIP(), []int{10} } func (x *SearchableSymEncryptionRequest) GetClientId() []byte { @@ -815,7 +811,7 @@ type SearchableSymEncryptionResponse struct { func (x *SearchableSymEncryptionResponse) Reset() { *x = SearchableSymEncryptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[11] + mi := &file_api_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -828,7 +824,7 @@ func (x *SearchableSymEncryptionResponse) String() string { func (*SearchableSymEncryptionResponse) ProtoMessage() {} func (x *SearchableSymEncryptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[11] + mi := &file_api_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -841,7 +837,7 @@ func (x *SearchableSymEncryptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableSymEncryptionResponse.ProtoReflect.Descriptor instead. func (*SearchableSymEncryptionResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{11} + return file_api_proto_rawDescGZIP(), []int{11} } func (x *SearchableSymEncryptionResponse) GetHash() []byte { @@ -872,7 +868,7 @@ type SearchableSymDecryptionRequest struct { func (x *SearchableSymDecryptionRequest) Reset() { *x = SearchableSymDecryptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[12] + mi := &file_api_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -885,7 +881,7 @@ func (x *SearchableSymDecryptionRequest) String() string { func (*SearchableSymDecryptionRequest) ProtoMessage() {} func (x *SearchableSymDecryptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[12] + mi := &file_api_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -898,7 +894,7 @@ func (x *SearchableSymDecryptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableSymDecryptionRequest.ProtoReflect.Descriptor instead. func (*SearchableSymDecryptionRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{12} + return file_api_proto_rawDescGZIP(), []int{12} } func (x *SearchableSymDecryptionRequest) GetClientId() []byte { @@ -940,7 +936,7 @@ type SearchableSymDecryptionResponse struct { func (x *SearchableSymDecryptionResponse) Reset() { *x = SearchableSymDecryptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[13] + mi := &file_api_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -953,7 +949,7 @@ func (x *SearchableSymDecryptionResponse) String() string { func (*SearchableSymDecryptionResponse) ProtoMessage() {} func (x *SearchableSymDecryptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[13] + mi := &file_api_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -966,7 +962,7 @@ func (x *SearchableSymDecryptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchableSymDecryptionResponse.ProtoReflect.Descriptor instead. func (*SearchableSymDecryptionResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{13} + return file_api_proto_rawDescGZIP(), []int{13} } func (x *SearchableSymDecryptionResponse) GetData() []byte { @@ -989,7 +985,7 @@ type QueryHashRequest struct { func (x *QueryHashRequest) Reset() { *x = QueryHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[14] + mi := &file_api_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1002,7 +998,7 @@ func (x *QueryHashRequest) String() string { func (*QueryHashRequest) ProtoMessage() {} func (x *QueryHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[14] + mi := &file_api_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1015,7 +1011,7 @@ func (x *QueryHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryHashRequest.ProtoReflect.Descriptor instead. func (*QueryHashRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{14} + return file_api_proto_rawDescGZIP(), []int{14} } func (x *QueryHashRequest) GetClientId() []byte { @@ -1050,7 +1046,7 @@ type QueryHashResponse struct { func (x *QueryHashResponse) Reset() { *x = QueryHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[15] + mi := &file_api_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1063,7 +1059,7 @@ func (x *QueryHashResponse) String() string { func (*QueryHashResponse) ProtoMessage() {} func (x *QueryHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[15] + mi := &file_api_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1076,7 +1072,7 @@ func (x *QueryHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryHashResponse.ProtoReflect.Descriptor instead. func (*QueryHashResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{15} + return file_api_proto_rawDescGZIP(), []int{15} } func (x *QueryHashResponse) GetHash() []byte { @@ -1099,7 +1095,7 @@ type DecryptSymRequest struct { func (x *DecryptSymRequest) Reset() { *x = DecryptSymRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[16] + mi := &file_api_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1112,7 +1108,7 @@ func (x *DecryptSymRequest) String() string { func (*DecryptSymRequest) ProtoMessage() {} func (x *DecryptSymRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[16] + mi := &file_api_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1125,7 +1121,7 @@ func (x *DecryptSymRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptSymRequest.ProtoReflect.Descriptor instead. func (*DecryptSymRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{16} + return file_api_proto_rawDescGZIP(), []int{16} } func (x *DecryptSymRequest) GetClientId() []byte { @@ -1160,7 +1156,7 @@ type DecryptSymResponse struct { func (x *DecryptSymResponse) Reset() { *x = DecryptSymResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[17] + mi := &file_api_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1173,7 +1169,7 @@ func (x *DecryptSymResponse) String() string { func (*DecryptSymResponse) ProtoMessage() {} func (x *DecryptSymResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[17] + mi := &file_api_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1186,7 +1182,7 @@ func (x *DecryptSymResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptSymResponse.ProtoReflect.Descriptor instead. func (*DecryptSymResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{17} + return file_api_proto_rawDescGZIP(), []int{17} } func (x *DecryptSymResponse) GetData() []byte { @@ -1209,7 +1205,7 @@ type EncryptSymRequest struct { func (x *EncryptSymRequest) Reset() { *x = EncryptSymRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[18] + mi := &file_api_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1222,7 +1218,7 @@ func (x *EncryptSymRequest) String() string { func (*EncryptSymRequest) ProtoMessage() {} func (x *EncryptSymRequest) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[18] + mi := &file_api_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1235,7 +1231,7 @@ func (x *EncryptSymRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EncryptSymRequest.ProtoReflect.Descriptor instead. func (*EncryptSymRequest) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{18} + return file_api_proto_rawDescGZIP(), []int{18} } func (x *EncryptSymRequest) GetClientId() []byte { @@ -1270,7 +1266,7 @@ type EncryptSymResponse struct { func (x *EncryptSymResponse) Reset() { *x = EncryptSymResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[19] + mi := &file_api_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1283,7 +1279,7 @@ func (x *EncryptSymResponse) String() string { func (*EncryptSymResponse) ProtoMessage() {} func (x *EncryptSymResponse) ProtoReflect() protoreflect.Message { - mi := &file_cmd_acra_translator_grpc_api_api_proto_msgTypes[19] + mi := &file_api_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1296,7 +1292,7 @@ func (x *EncryptSymResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EncryptSymResponse.ProtoReflect.Descriptor instead. func (*EncryptSymResponse) Descriptor() ([]byte, []int) { - return file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP(), []int{19} + return file_api_proto_rawDescGZIP(), []int{19} } func (x *EncryptSymResponse) GetAcrablock() []byte { @@ -1306,216 +1302,214 @@ func (x *EncryptSymResponse) GetAcrablock() []byte { return nil } -var File_cmd_acra_translator_grpc_api_api_proto protoreflect.FileDescriptor - -var file_cmd_acra_translator_grpc_api_api_proto_rawDesc = []byte{ - 0x0a, 0x26, 0x63, 0x6d, 0x64, 0x2f, 0x61, 0x63, 0x72, 0x61, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x61, - 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, - 0x70, 0x69, 0x22, 0x66, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, - 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, - 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x65, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x5a, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, 0x0a, - 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x22, 0xfb, 0x01, 0x0a, 0x0f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x08, 0x73, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc9, - 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x1b, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x72, - 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x7b, 0x0a, 0x1b, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, +var File_api_proto protoreflect.FileDescriptor + +var file_api_proto_rawDesc = []byte{ + 0x0a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x72, 0x70, + 0x63, 0x5f, 0x61, 0x70, 0x69, 0x22, 0x66, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x25, 0x0a, + 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x22, 0x32, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x7e, 0x0a, 0x1e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x1f, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x5c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x27, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x67, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x22, 0x31, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x22, 0xfb, 0x01, 0x0a, 0x0f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x09, 0x73, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, + 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, + 0x1b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x22, 0x28, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x11, 0x45, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, + 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x61, 0x63, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x7b, 0x0a, 0x1b, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x32, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x1e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, + 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, + 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x7e, 0x0a, 0x1e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, + 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x1f, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x5c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x27, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x67, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x7a, - 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x12, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x32, 0x4a, 0x0a, - 0x06, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x4a, 0x0a, 0x06, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x18, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x99, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x32, 0x56, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x12, 0x49, - 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x12, 0x1b, 0x2e, 0x67, + 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x22, 0x28, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5d, 0x0a, + 0x11, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x12, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x63, 0x72, 0x61, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x32, 0x4a, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x44, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x4a, 0x0a, 0x06, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x99, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, + 0x0a, 0x44, 0x65, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x32, 0x56, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x79, + 0x6d, 0x12, 0x49, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x12, + 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, - 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x56, 0x0a, 0x09, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x12, 0x49, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x53, 0x79, 0x6d, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x32, 0x90, 0x04, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x11, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x64, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x14, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x53, 0x79, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, - 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x14, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x53, 0x79, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, - 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x73, 0x61, 0x63, 0x6b, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x61, - 0x63, 0x72, 0x61, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x61, 0x63, 0x72, 0x61, 0x2d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x56, 0x0a, 0x09, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x12, 0x49, 0x0a, 0x0a, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x32, 0x90, 0x04, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, + 0x11, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x14, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x79, 0x6d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x14, 0x44, 0x65, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x53, 0x79, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x79, 0x6d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x73, 0x61, 0x63, 0x6b, 0x6c, 0x61, 0x62, + 0x73, 0x2f, 0x61, 0x63, 0x72, 0x61, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x61, 0x63, 0x72, 0x61, 0x2d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, + 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_cmd_acra_translator_grpc_api_api_proto_rawDescOnce sync.Once - file_cmd_acra_translator_grpc_api_api_proto_rawDescData = file_cmd_acra_translator_grpc_api_api_proto_rawDesc + file_api_proto_rawDescOnce sync.Once + file_api_proto_rawDescData = file_api_proto_rawDesc ) -func file_cmd_acra_translator_grpc_api_api_proto_rawDescGZIP() []byte { - file_cmd_acra_translator_grpc_api_api_proto_rawDescOnce.Do(func() { - file_cmd_acra_translator_grpc_api_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cmd_acra_translator_grpc_api_api_proto_rawDescData) +func file_api_proto_rawDescGZIP() []byte { + file_api_proto_rawDescOnce.Do(func() { + file_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_proto_rawDescData) }) - return file_cmd_acra_translator_grpc_api_api_proto_rawDescData + return file_api_proto_rawDescData } -var file_cmd_acra_translator_grpc_api_api_proto_msgTypes = make([]protoimpl.MessageInfo, 20) -var file_cmd_acra_translator_grpc_api_api_proto_goTypes = []interface{}{ +var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_api_proto_goTypes = []interface{}{ (*DecryptRequest)(nil), // 0: grpc_api.DecryptRequest (*DecryptResponse)(nil), // 1: grpc_api.DecryptResponse (*EncryptRequest)(nil), // 2: grpc_api.EncryptRequest @@ -1537,7 +1531,7 @@ var file_cmd_acra_translator_grpc_api_api_proto_goTypes = []interface{}{ (*EncryptSymRequest)(nil), // 18: grpc_api.EncryptSymRequest (*EncryptSymResponse)(nil), // 19: grpc_api.EncryptSymResponse } -var file_cmd_acra_translator_grpc_api_api_proto_depIdxs = []int32{ +var file_api_proto_depIdxs = []int32{ 0, // 0: grpc_api.Reader.Decrypt:input_type -> grpc_api.DecryptRequest 2, // 1: grpc_api.Writer.Encrypt:input_type -> grpc_api.EncryptRequest 4, // 2: grpc_api.Tokenizator.Tokenize:input_type -> grpc_api.TokenizeRequest @@ -1567,13 +1561,13 @@ var file_cmd_acra_translator_grpc_api_api_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for field type_name } -func init() { file_cmd_acra_translator_grpc_api_api_proto_init() } -func file_cmd_acra_translator_grpc_api_api_proto_init() { - if File_cmd_acra_translator_grpc_api_api_proto != nil { +func init() { file_api_proto_init() } +func file_api_proto_init() { + if File_api_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptRequest); i { case 0: return &v.state @@ -1585,7 +1579,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptResponse); i { case 0: return &v.state @@ -1597,7 +1591,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptRequest); i { case 0: return &v.state @@ -1609,7 +1603,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptResponse); i { case 0: return &v.state @@ -1621,7 +1615,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenizeRequest); i { case 0: return &v.state @@ -1633,7 +1627,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenizeResponse); i { case 0: return &v.state @@ -1645,7 +1639,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableEncryptionRequest); i { case 0: return &v.state @@ -1657,7 +1651,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableEncryptionResponse); i { case 0: return &v.state @@ -1669,7 +1663,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableDecryptionRequest); i { case 0: return &v.state @@ -1681,7 +1675,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableDecryptionResponse); i { case 0: return &v.state @@ -1693,7 +1687,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableSymEncryptionRequest); i { case 0: return &v.state @@ -1705,7 +1699,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableSymEncryptionResponse); i { case 0: return &v.state @@ -1717,7 +1711,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableSymDecryptionRequest); i { case 0: return &v.state @@ -1729,7 +1723,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchableSymDecryptionResponse); i { case 0: return &v.state @@ -1741,7 +1735,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryHashRequest); i { case 0: return &v.state @@ -1753,7 +1747,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryHashResponse); i { case 0: return &v.state @@ -1765,7 +1759,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptSymRequest); i { case 0: return &v.state @@ -1777,7 +1771,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptSymResponse); i { case 0: return &v.state @@ -1789,7 +1783,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptSymRequest); i { case 0: return &v.state @@ -1801,7 +1795,7 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { return nil } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptSymResponse); i { case 0: return &v.state @@ -1814,14 +1808,14 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { } } } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_api_proto_msgTypes[4].OneofWrappers = []interface{}{ (*TokenizeRequest_StrValue)(nil), (*TokenizeRequest_EmailValue)(nil), (*TokenizeRequest_Int32Value)(nil), (*TokenizeRequest_Int64Value)(nil), (*TokenizeRequest_BytesValue)(nil), } - file_cmd_acra_translator_grpc_api_api_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_api_proto_msgTypes[5].OneofWrappers = []interface{}{ (*TokenizeResponse_StrToken)(nil), (*TokenizeResponse_EmailToken)(nil), (*TokenizeResponse_Int32Token)(nil), @@ -1832,638 +1826,18 @@ func file_cmd_acra_translator_grpc_api_api_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_cmd_acra_translator_grpc_api_api_proto_rawDesc, + RawDescriptor: file_api_proto_rawDesc, NumEnums: 0, NumMessages: 20, NumExtensions: 0, NumServices: 6, }, - GoTypes: file_cmd_acra_translator_grpc_api_api_proto_goTypes, - DependencyIndexes: file_cmd_acra_translator_grpc_api_api_proto_depIdxs, - MessageInfos: file_cmd_acra_translator_grpc_api_api_proto_msgTypes, + GoTypes: file_api_proto_goTypes, + DependencyIndexes: file_api_proto_depIdxs, + MessageInfos: file_api_proto_msgTypes, }.Build() - File_cmd_acra_translator_grpc_api_api_proto = out.File - file_cmd_acra_translator_grpc_api_api_proto_rawDesc = nil - file_cmd_acra_translator_grpc_api_api_proto_goTypes = nil - file_cmd_acra_translator_grpc_api_api_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// ReaderClient is the client API for Reader service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ReaderClient interface { - Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) -} - -type readerClient struct { - cc grpc.ClientConnInterface -} - -func NewReaderClient(cc grpc.ClientConnInterface) ReaderClient { - return &readerClient{cc} -} - -func (c *readerClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) { - out := new(DecryptResponse) - err := c.cc.Invoke(ctx, "/grpc_api.Reader/Decrypt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ReaderServer is the server API for Reader service. -type ReaderServer interface { - Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) -} - -// UnimplementedReaderServer can be embedded to have forward compatible implementations. -type UnimplementedReaderServer struct { -} - -func (*UnimplementedReaderServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented") -} - -func RegisterReaderServer(s *grpc.Server, srv ReaderServer) { - s.RegisterService(&_Reader_serviceDesc, srv) -} - -func _Reader_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DecryptRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ReaderServer).Decrypt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.Reader/Decrypt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReaderServer).Decrypt(ctx, req.(*DecryptRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Reader_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.Reader", - HandlerType: (*ReaderServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Decrypt", - Handler: _Reader_Decrypt_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", -} - -// WriterClient is the client API for Writer service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type WriterClient interface { - Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) -} - -type writerClient struct { - cc grpc.ClientConnInterface -} - -func NewWriterClient(cc grpc.ClientConnInterface) WriterClient { - return &writerClient{cc} -} - -func (c *writerClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) { - out := new(EncryptResponse) - err := c.cc.Invoke(ctx, "/grpc_api.Writer/Encrypt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// WriterServer is the server API for Writer service. -type WriterServer interface { - Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) -} - -// UnimplementedWriterServer can be embedded to have forward compatible implementations. -type UnimplementedWriterServer struct { -} - -func (*UnimplementedWriterServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented") -} - -func RegisterWriterServer(s *grpc.Server, srv WriterServer) { - s.RegisterService(&_Writer_serviceDesc, srv) -} - -func _Writer_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EncryptRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WriterServer).Encrypt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.Writer/Encrypt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WriterServer).Encrypt(ctx, req.(*EncryptRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Writer_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.Writer", - HandlerType: (*WriterServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Encrypt", - Handler: _Writer_Encrypt_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", -} - -// TokenizatorClient is the client API for Tokenizator service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type TokenizatorClient interface { - Tokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) - Detokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) -} - -type tokenizatorClient struct { - cc grpc.ClientConnInterface -} - -func NewTokenizatorClient(cc grpc.ClientConnInterface) TokenizatorClient { - return &tokenizatorClient{cc} -} - -func (c *tokenizatorClient) Tokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) { - out := new(TokenizeResponse) - err := c.cc.Invoke(ctx, "/grpc_api.Tokenizator/Tokenize", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *tokenizatorClient) Detokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) { - out := new(TokenizeResponse) - err := c.cc.Invoke(ctx, "/grpc_api.Tokenizator/Detokenize", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// TokenizatorServer is the server API for Tokenizator service. -type TokenizatorServer interface { - Tokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) - Detokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) -} - -// UnimplementedTokenizatorServer can be embedded to have forward compatible implementations. -type UnimplementedTokenizatorServer struct { -} - -func (*UnimplementedTokenizatorServer) Tokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Tokenize not implemented") -} -func (*UnimplementedTokenizatorServer) Detokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Detokenize not implemented") -} - -func RegisterTokenizatorServer(s *grpc.Server, srv TokenizatorServer) { - s.RegisterService(&_Tokenizator_serviceDesc, srv) -} - -func _Tokenizator_Tokenize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TokenizeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(TokenizatorServer).Tokenize(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.Tokenizator/Tokenize", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(TokenizatorServer).Tokenize(ctx, req.(*TokenizeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Tokenizator_Detokenize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TokenizeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(TokenizatorServer).Detokenize(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.Tokenizator/Detokenize", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(TokenizatorServer).Detokenize(ctx, req.(*TokenizeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Tokenizator_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.Tokenizator", - HandlerType: (*TokenizatorServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Tokenize", - Handler: _Tokenizator_Tokenize_Handler, - }, - { - MethodName: "Detokenize", - Handler: _Tokenizator_Detokenize_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", -} - -// ReaderSymClient is the client API for ReaderSym service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ReaderSymClient interface { - DecryptSym(ctx context.Context, in *DecryptSymRequest, opts ...grpc.CallOption) (*DecryptSymResponse, error) -} - -type readerSymClient struct { - cc grpc.ClientConnInterface -} - -func NewReaderSymClient(cc grpc.ClientConnInterface) ReaderSymClient { - return &readerSymClient{cc} -} - -func (c *readerSymClient) DecryptSym(ctx context.Context, in *DecryptSymRequest, opts ...grpc.CallOption) (*DecryptSymResponse, error) { - out := new(DecryptSymResponse) - err := c.cc.Invoke(ctx, "/grpc_api.ReaderSym/DecryptSym", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ReaderSymServer is the server API for ReaderSym service. -type ReaderSymServer interface { - DecryptSym(context.Context, *DecryptSymRequest) (*DecryptSymResponse, error) -} - -// UnimplementedReaderSymServer can be embedded to have forward compatible implementations. -type UnimplementedReaderSymServer struct { -} - -func (*UnimplementedReaderSymServer) DecryptSym(context.Context, *DecryptSymRequest) (*DecryptSymResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DecryptSym not implemented") -} - -func RegisterReaderSymServer(s *grpc.Server, srv ReaderSymServer) { - s.RegisterService(&_ReaderSym_serviceDesc, srv) -} - -func _ReaderSym_DecryptSym_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DecryptSymRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ReaderSymServer).DecryptSym(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.ReaderSym/DecryptSym", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReaderSymServer).DecryptSym(ctx, req.(*DecryptSymRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _ReaderSym_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.ReaderSym", - HandlerType: (*ReaderSymServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "DecryptSym", - Handler: _ReaderSym_DecryptSym_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", -} - -// WriterSymClient is the client API for WriterSym service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type WriterSymClient interface { - EncryptSym(ctx context.Context, in *EncryptSymRequest, opts ...grpc.CallOption) (*EncryptSymResponse, error) -} - -type writerSymClient struct { - cc grpc.ClientConnInterface -} - -func NewWriterSymClient(cc grpc.ClientConnInterface) WriterSymClient { - return &writerSymClient{cc} -} - -func (c *writerSymClient) EncryptSym(ctx context.Context, in *EncryptSymRequest, opts ...grpc.CallOption) (*EncryptSymResponse, error) { - out := new(EncryptSymResponse) - err := c.cc.Invoke(ctx, "/grpc_api.WriterSym/EncryptSym", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// WriterSymServer is the server API for WriterSym service. -type WriterSymServer interface { - EncryptSym(context.Context, *EncryptSymRequest) (*EncryptSymResponse, error) -} - -// UnimplementedWriterSymServer can be embedded to have forward compatible implementations. -type UnimplementedWriterSymServer struct { -} - -func (*UnimplementedWriterSymServer) EncryptSym(context.Context, *EncryptSymRequest) (*EncryptSymResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncryptSym not implemented") -} - -func RegisterWriterSymServer(s *grpc.Server, srv WriterSymServer) { - s.RegisterService(&_WriterSym_serviceDesc, srv) -} - -func _WriterSym_EncryptSym_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EncryptSymRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WriterSymServer).EncryptSym(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.WriterSym/EncryptSym", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WriterSymServer).EncryptSym(ctx, req.(*EncryptSymRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _WriterSym_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.WriterSym", - HandlerType: (*WriterSymServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "EncryptSym", - Handler: _WriterSym_EncryptSym_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", -} - -// SearchableEncryptionClient is the client API for SearchableEncryption service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type SearchableEncryptionClient interface { - EncryptSearchable(ctx context.Context, in *SearchableEncryptionRequest, opts ...grpc.CallOption) (*SearchableEncryptionResponse, error) - DecryptSearchable(ctx context.Context, in *SearchableDecryptionRequest, opts ...grpc.CallOption) (*SearchableDecryptionResponse, error) - EncryptSymSearchable(ctx context.Context, in *SearchableSymEncryptionRequest, opts ...grpc.CallOption) (*SearchableSymEncryptionResponse, error) - DecryptSymSearchable(ctx context.Context, in *SearchableSymDecryptionRequest, opts ...grpc.CallOption) (*SearchableSymDecryptionResponse, error) - GenerateQueryHash(ctx context.Context, in *QueryHashRequest, opts ...grpc.CallOption) (*QueryHashResponse, error) -} - -type searchableEncryptionClient struct { - cc grpc.ClientConnInterface -} - -func NewSearchableEncryptionClient(cc grpc.ClientConnInterface) SearchableEncryptionClient { - return &searchableEncryptionClient{cc} -} - -func (c *searchableEncryptionClient) EncryptSearchable(ctx context.Context, in *SearchableEncryptionRequest, opts ...grpc.CallOption) (*SearchableEncryptionResponse, error) { - out := new(SearchableEncryptionResponse) - err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/EncryptSearchable", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *searchableEncryptionClient) DecryptSearchable(ctx context.Context, in *SearchableDecryptionRequest, opts ...grpc.CallOption) (*SearchableDecryptionResponse, error) { - out := new(SearchableDecryptionResponse) - err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/DecryptSearchable", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *searchableEncryptionClient) EncryptSymSearchable(ctx context.Context, in *SearchableSymEncryptionRequest, opts ...grpc.CallOption) (*SearchableSymEncryptionResponse, error) { - out := new(SearchableSymEncryptionResponse) - err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/EncryptSymSearchable", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *searchableEncryptionClient) DecryptSymSearchable(ctx context.Context, in *SearchableSymDecryptionRequest, opts ...grpc.CallOption) (*SearchableSymDecryptionResponse, error) { - out := new(SearchableSymDecryptionResponse) - err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/DecryptSymSearchable", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *searchableEncryptionClient) GenerateQueryHash(ctx context.Context, in *QueryHashRequest, opts ...grpc.CallOption) (*QueryHashResponse, error) { - out := new(QueryHashResponse) - err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/GenerateQueryHash", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SearchableEncryptionServer is the server API for SearchableEncryption service. -type SearchableEncryptionServer interface { - EncryptSearchable(context.Context, *SearchableEncryptionRequest) (*SearchableEncryptionResponse, error) - DecryptSearchable(context.Context, *SearchableDecryptionRequest) (*SearchableDecryptionResponse, error) - EncryptSymSearchable(context.Context, *SearchableSymEncryptionRequest) (*SearchableSymEncryptionResponse, error) - DecryptSymSearchable(context.Context, *SearchableSymDecryptionRequest) (*SearchableSymDecryptionResponse, error) - GenerateQueryHash(context.Context, *QueryHashRequest) (*QueryHashResponse, error) -} - -// UnimplementedSearchableEncryptionServer can be embedded to have forward compatible implementations. -type UnimplementedSearchableEncryptionServer struct { -} - -func (*UnimplementedSearchableEncryptionServer) EncryptSearchable(context.Context, *SearchableEncryptionRequest) (*SearchableEncryptionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncryptSearchable not implemented") -} -func (*UnimplementedSearchableEncryptionServer) DecryptSearchable(context.Context, *SearchableDecryptionRequest) (*SearchableDecryptionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DecryptSearchable not implemented") -} -func (*UnimplementedSearchableEncryptionServer) EncryptSymSearchable(context.Context, *SearchableSymEncryptionRequest) (*SearchableSymEncryptionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncryptSymSearchable not implemented") -} -func (*UnimplementedSearchableEncryptionServer) DecryptSymSearchable(context.Context, *SearchableSymDecryptionRequest) (*SearchableSymDecryptionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DecryptSymSearchable not implemented") -} -func (*UnimplementedSearchableEncryptionServer) GenerateQueryHash(context.Context, *QueryHashRequest) (*QueryHashResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GenerateQueryHash not implemented") -} - -func RegisterSearchableEncryptionServer(s *grpc.Server, srv SearchableEncryptionServer) { - s.RegisterService(&_SearchableEncryption_serviceDesc, srv) -} - -func _SearchableEncryption_EncryptSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchableEncryptionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SearchableEncryptionServer).EncryptSearchable(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.SearchableEncryption/EncryptSearchable", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SearchableEncryptionServer).EncryptSearchable(ctx, req.(*SearchableEncryptionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SearchableEncryption_DecryptSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchableDecryptionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SearchableEncryptionServer).DecryptSearchable(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.SearchableEncryption/DecryptSearchable", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SearchableEncryptionServer).DecryptSearchable(ctx, req.(*SearchableDecryptionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SearchableEncryption_EncryptSymSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchableSymEncryptionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SearchableEncryptionServer).EncryptSymSearchable(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.SearchableEncryption/EncryptSymSearchable", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SearchableEncryptionServer).EncryptSymSearchable(ctx, req.(*SearchableSymEncryptionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SearchableEncryption_DecryptSymSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchableSymDecryptionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SearchableEncryptionServer).DecryptSymSearchable(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.SearchableEncryption/DecryptSymSearchable", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SearchableEncryptionServer).DecryptSymSearchable(ctx, req.(*SearchableSymDecryptionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SearchableEncryption_GenerateQueryHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryHashRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SearchableEncryptionServer).GenerateQueryHash(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc_api.SearchableEncryption/GenerateQueryHash", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SearchableEncryptionServer).GenerateQueryHash(ctx, req.(*QueryHashRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _SearchableEncryption_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc_api.SearchableEncryption", - HandlerType: (*SearchableEncryptionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "EncryptSearchable", - Handler: _SearchableEncryption_EncryptSearchable_Handler, - }, - { - MethodName: "DecryptSearchable", - Handler: _SearchableEncryption_DecryptSearchable_Handler, - }, - { - MethodName: "EncryptSymSearchable", - Handler: _SearchableEncryption_EncryptSymSearchable_Handler, - }, - { - MethodName: "DecryptSymSearchable", - Handler: _SearchableEncryption_DecryptSymSearchable_Handler, - }, - { - MethodName: "GenerateQueryHash", - Handler: _SearchableEncryption_GenerateQueryHash_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cmd/acra-translator/grpc_api/api.proto", + File_api_proto = out.File + file_api_proto_rawDesc = nil + file_api_proto_goTypes = nil + file_api_proto_depIdxs = nil } diff --git a/cmd/acra-translator/grpc_api/api_grpc.pb.go b/cmd/acra-translator/grpc_api/api_grpc.pb.go new file mode 100644 index 000000000..439aa59d8 --- /dev/null +++ b/cmd/acra-translator/grpc_api/api_grpc.pb.go @@ -0,0 +1,711 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package grpc_api + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// ReaderClient is the client API for Reader service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ReaderClient interface { + Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) +} + +type readerClient struct { + cc grpc.ClientConnInterface +} + +func NewReaderClient(cc grpc.ClientConnInterface) ReaderClient { + return &readerClient{cc} +} + +func (c *readerClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) { + out := new(DecryptResponse) + err := c.cc.Invoke(ctx, "/grpc_api.Reader/Decrypt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ReaderServer is the server API for Reader service. +// All implementations must embed UnimplementedReaderServer +// for forward compatibility +type ReaderServer interface { + Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) + mustEmbedUnimplementedReaderServer() +} + +// UnimplementedReaderServer must be embedded to have forward compatible implementations. +type UnimplementedReaderServer struct { +} + +func (UnimplementedReaderServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented") +} +func (UnimplementedReaderServer) mustEmbedUnimplementedReaderServer() {} + +// UnsafeReaderServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ReaderServer will +// result in compilation errors. +type UnsafeReaderServer interface { + mustEmbedUnimplementedReaderServer() +} + +func RegisterReaderServer(s grpc.ServiceRegistrar, srv ReaderServer) { + s.RegisterService(&Reader_ServiceDesc, srv) +} + +func _Reader_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReaderServer).Decrypt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.Reader/Decrypt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReaderServer).Decrypt(ctx, req.(*DecryptRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Reader_ServiceDesc is the grpc.ServiceDesc for Reader service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Reader_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.Reader", + HandlerType: (*ReaderServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Decrypt", + Handler: _Reader_Decrypt_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} + +// WriterClient is the client API for Writer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type WriterClient interface { + Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) +} + +type writerClient struct { + cc grpc.ClientConnInterface +} + +func NewWriterClient(cc grpc.ClientConnInterface) WriterClient { + return &writerClient{cc} +} + +func (c *writerClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) { + out := new(EncryptResponse) + err := c.cc.Invoke(ctx, "/grpc_api.Writer/Encrypt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WriterServer is the server API for Writer service. +// All implementations must embed UnimplementedWriterServer +// for forward compatibility +type WriterServer interface { + Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) + mustEmbedUnimplementedWriterServer() +} + +// UnimplementedWriterServer must be embedded to have forward compatible implementations. +type UnimplementedWriterServer struct { +} + +func (UnimplementedWriterServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented") +} +func (UnimplementedWriterServer) mustEmbedUnimplementedWriterServer() {} + +// UnsafeWriterServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to WriterServer will +// result in compilation errors. +type UnsafeWriterServer interface { + mustEmbedUnimplementedWriterServer() +} + +func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer) { + s.RegisterService(&Writer_ServiceDesc, srv) +} + +func _Writer_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EncryptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WriterServer).Encrypt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.Writer/Encrypt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WriterServer).Encrypt(ctx, req.(*EncryptRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Writer_ServiceDesc is the grpc.ServiceDesc for Writer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Writer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.Writer", + HandlerType: (*WriterServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Encrypt", + Handler: _Writer_Encrypt_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} + +// TokenizatorClient is the client API for Tokenizator service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type TokenizatorClient interface { + Tokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) + Detokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) +} + +type tokenizatorClient struct { + cc grpc.ClientConnInterface +} + +func NewTokenizatorClient(cc grpc.ClientConnInterface) TokenizatorClient { + return &tokenizatorClient{cc} +} + +func (c *tokenizatorClient) Tokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) { + out := new(TokenizeResponse) + err := c.cc.Invoke(ctx, "/grpc_api.Tokenizator/Tokenize", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokenizatorClient) Detokenize(ctx context.Context, in *TokenizeRequest, opts ...grpc.CallOption) (*TokenizeResponse, error) { + out := new(TokenizeResponse) + err := c.cc.Invoke(ctx, "/grpc_api.Tokenizator/Detokenize", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TokenizatorServer is the server API for Tokenizator service. +// All implementations must embed UnimplementedTokenizatorServer +// for forward compatibility +type TokenizatorServer interface { + Tokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) + Detokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) + mustEmbedUnimplementedTokenizatorServer() +} + +// UnimplementedTokenizatorServer must be embedded to have forward compatible implementations. +type UnimplementedTokenizatorServer struct { +} + +func (UnimplementedTokenizatorServer) Tokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Tokenize not implemented") +} +func (UnimplementedTokenizatorServer) Detokenize(context.Context, *TokenizeRequest) (*TokenizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Detokenize not implemented") +} +func (UnimplementedTokenizatorServer) mustEmbedUnimplementedTokenizatorServer() {} + +// UnsafeTokenizatorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TokenizatorServer will +// result in compilation errors. +type UnsafeTokenizatorServer interface { + mustEmbedUnimplementedTokenizatorServer() +} + +func RegisterTokenizatorServer(s grpc.ServiceRegistrar, srv TokenizatorServer) { + s.RegisterService(&Tokenizator_ServiceDesc, srv) +} + +func _Tokenizator_Tokenize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TokenizeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokenizatorServer).Tokenize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.Tokenizator/Tokenize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokenizatorServer).Tokenize(ctx, req.(*TokenizeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Tokenizator_Detokenize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TokenizeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokenizatorServer).Detokenize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.Tokenizator/Detokenize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokenizatorServer).Detokenize(ctx, req.(*TokenizeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Tokenizator_ServiceDesc is the grpc.ServiceDesc for Tokenizator service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Tokenizator_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.Tokenizator", + HandlerType: (*TokenizatorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Tokenize", + Handler: _Tokenizator_Tokenize_Handler, + }, + { + MethodName: "Detokenize", + Handler: _Tokenizator_Detokenize_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} + +// ReaderSymClient is the client API for ReaderSym service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ReaderSymClient interface { + DecryptSym(ctx context.Context, in *DecryptSymRequest, opts ...grpc.CallOption) (*DecryptSymResponse, error) +} + +type readerSymClient struct { + cc grpc.ClientConnInterface +} + +func NewReaderSymClient(cc grpc.ClientConnInterface) ReaderSymClient { + return &readerSymClient{cc} +} + +func (c *readerSymClient) DecryptSym(ctx context.Context, in *DecryptSymRequest, opts ...grpc.CallOption) (*DecryptSymResponse, error) { + out := new(DecryptSymResponse) + err := c.cc.Invoke(ctx, "/grpc_api.ReaderSym/DecryptSym", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ReaderSymServer is the server API for ReaderSym service. +// All implementations must embed UnimplementedReaderSymServer +// for forward compatibility +type ReaderSymServer interface { + DecryptSym(context.Context, *DecryptSymRequest) (*DecryptSymResponse, error) + mustEmbedUnimplementedReaderSymServer() +} + +// UnimplementedReaderSymServer must be embedded to have forward compatible implementations. +type UnimplementedReaderSymServer struct { +} + +func (UnimplementedReaderSymServer) DecryptSym(context.Context, *DecryptSymRequest) (*DecryptSymResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptSym not implemented") +} +func (UnimplementedReaderSymServer) mustEmbedUnimplementedReaderSymServer() {} + +// UnsafeReaderSymServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ReaderSymServer will +// result in compilation errors. +type UnsafeReaderSymServer interface { + mustEmbedUnimplementedReaderSymServer() +} + +func RegisterReaderSymServer(s grpc.ServiceRegistrar, srv ReaderSymServer) { + s.RegisterService(&ReaderSym_ServiceDesc, srv) +} + +func _ReaderSym_DecryptSym_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptSymRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReaderSymServer).DecryptSym(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.ReaderSym/DecryptSym", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReaderSymServer).DecryptSym(ctx, req.(*DecryptSymRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ReaderSym_ServiceDesc is the grpc.ServiceDesc for ReaderSym service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ReaderSym_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.ReaderSym", + HandlerType: (*ReaderSymServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "DecryptSym", + Handler: _ReaderSym_DecryptSym_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} + +// WriterSymClient is the client API for WriterSym service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type WriterSymClient interface { + EncryptSym(ctx context.Context, in *EncryptSymRequest, opts ...grpc.CallOption) (*EncryptSymResponse, error) +} + +type writerSymClient struct { + cc grpc.ClientConnInterface +} + +func NewWriterSymClient(cc grpc.ClientConnInterface) WriterSymClient { + return &writerSymClient{cc} +} + +func (c *writerSymClient) EncryptSym(ctx context.Context, in *EncryptSymRequest, opts ...grpc.CallOption) (*EncryptSymResponse, error) { + out := new(EncryptSymResponse) + err := c.cc.Invoke(ctx, "/grpc_api.WriterSym/EncryptSym", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WriterSymServer is the server API for WriterSym service. +// All implementations must embed UnimplementedWriterSymServer +// for forward compatibility +type WriterSymServer interface { + EncryptSym(context.Context, *EncryptSymRequest) (*EncryptSymResponse, error) + mustEmbedUnimplementedWriterSymServer() +} + +// UnimplementedWriterSymServer must be embedded to have forward compatible implementations. +type UnimplementedWriterSymServer struct { +} + +func (UnimplementedWriterSymServer) EncryptSym(context.Context, *EncryptSymRequest) (*EncryptSymResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncryptSym not implemented") +} +func (UnimplementedWriterSymServer) mustEmbedUnimplementedWriterSymServer() {} + +// UnsafeWriterSymServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to WriterSymServer will +// result in compilation errors. +type UnsafeWriterSymServer interface { + mustEmbedUnimplementedWriterSymServer() +} + +func RegisterWriterSymServer(s grpc.ServiceRegistrar, srv WriterSymServer) { + s.RegisterService(&WriterSym_ServiceDesc, srv) +} + +func _WriterSym_EncryptSym_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EncryptSymRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WriterSymServer).EncryptSym(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.WriterSym/EncryptSym", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WriterSymServer).EncryptSym(ctx, req.(*EncryptSymRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// WriterSym_ServiceDesc is the grpc.ServiceDesc for WriterSym service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var WriterSym_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.WriterSym", + HandlerType: (*WriterSymServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "EncryptSym", + Handler: _WriterSym_EncryptSym_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} + +// SearchableEncryptionClient is the client API for SearchableEncryption service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SearchableEncryptionClient interface { + EncryptSearchable(ctx context.Context, in *SearchableEncryptionRequest, opts ...grpc.CallOption) (*SearchableEncryptionResponse, error) + DecryptSearchable(ctx context.Context, in *SearchableDecryptionRequest, opts ...grpc.CallOption) (*SearchableDecryptionResponse, error) + EncryptSymSearchable(ctx context.Context, in *SearchableSymEncryptionRequest, opts ...grpc.CallOption) (*SearchableSymEncryptionResponse, error) + DecryptSymSearchable(ctx context.Context, in *SearchableSymDecryptionRequest, opts ...grpc.CallOption) (*SearchableSymDecryptionResponse, error) + GenerateQueryHash(ctx context.Context, in *QueryHashRequest, opts ...grpc.CallOption) (*QueryHashResponse, error) +} + +type searchableEncryptionClient struct { + cc grpc.ClientConnInterface +} + +func NewSearchableEncryptionClient(cc grpc.ClientConnInterface) SearchableEncryptionClient { + return &searchableEncryptionClient{cc} +} + +func (c *searchableEncryptionClient) EncryptSearchable(ctx context.Context, in *SearchableEncryptionRequest, opts ...grpc.CallOption) (*SearchableEncryptionResponse, error) { + out := new(SearchableEncryptionResponse) + err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/EncryptSearchable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *searchableEncryptionClient) DecryptSearchable(ctx context.Context, in *SearchableDecryptionRequest, opts ...grpc.CallOption) (*SearchableDecryptionResponse, error) { + out := new(SearchableDecryptionResponse) + err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/DecryptSearchable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *searchableEncryptionClient) EncryptSymSearchable(ctx context.Context, in *SearchableSymEncryptionRequest, opts ...grpc.CallOption) (*SearchableSymEncryptionResponse, error) { + out := new(SearchableSymEncryptionResponse) + err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/EncryptSymSearchable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *searchableEncryptionClient) DecryptSymSearchable(ctx context.Context, in *SearchableSymDecryptionRequest, opts ...grpc.CallOption) (*SearchableSymDecryptionResponse, error) { + out := new(SearchableSymDecryptionResponse) + err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/DecryptSymSearchable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *searchableEncryptionClient) GenerateQueryHash(ctx context.Context, in *QueryHashRequest, opts ...grpc.CallOption) (*QueryHashResponse, error) { + out := new(QueryHashResponse) + err := c.cc.Invoke(ctx, "/grpc_api.SearchableEncryption/GenerateQueryHash", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SearchableEncryptionServer is the server API for SearchableEncryption service. +// All implementations must embed UnimplementedSearchableEncryptionServer +// for forward compatibility +type SearchableEncryptionServer interface { + EncryptSearchable(context.Context, *SearchableEncryptionRequest) (*SearchableEncryptionResponse, error) + DecryptSearchable(context.Context, *SearchableDecryptionRequest) (*SearchableDecryptionResponse, error) + EncryptSymSearchable(context.Context, *SearchableSymEncryptionRequest) (*SearchableSymEncryptionResponse, error) + DecryptSymSearchable(context.Context, *SearchableSymDecryptionRequest) (*SearchableSymDecryptionResponse, error) + GenerateQueryHash(context.Context, *QueryHashRequest) (*QueryHashResponse, error) + mustEmbedUnimplementedSearchableEncryptionServer() +} + +// UnimplementedSearchableEncryptionServer must be embedded to have forward compatible implementations. +type UnimplementedSearchableEncryptionServer struct { +} + +func (UnimplementedSearchableEncryptionServer) EncryptSearchable(context.Context, *SearchableEncryptionRequest) (*SearchableEncryptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncryptSearchable not implemented") +} +func (UnimplementedSearchableEncryptionServer) DecryptSearchable(context.Context, *SearchableDecryptionRequest) (*SearchableDecryptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptSearchable not implemented") +} +func (UnimplementedSearchableEncryptionServer) EncryptSymSearchable(context.Context, *SearchableSymEncryptionRequest) (*SearchableSymEncryptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncryptSymSearchable not implemented") +} +func (UnimplementedSearchableEncryptionServer) DecryptSymSearchable(context.Context, *SearchableSymDecryptionRequest) (*SearchableSymDecryptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptSymSearchable not implemented") +} +func (UnimplementedSearchableEncryptionServer) GenerateQueryHash(context.Context, *QueryHashRequest) (*QueryHashResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateQueryHash not implemented") +} +func (UnimplementedSearchableEncryptionServer) mustEmbedUnimplementedSearchableEncryptionServer() {} + +// UnsafeSearchableEncryptionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SearchableEncryptionServer will +// result in compilation errors. +type UnsafeSearchableEncryptionServer interface { + mustEmbedUnimplementedSearchableEncryptionServer() +} + +func RegisterSearchableEncryptionServer(s grpc.ServiceRegistrar, srv SearchableEncryptionServer) { + s.RegisterService(&SearchableEncryption_ServiceDesc, srv) +} + +func _SearchableEncryption_EncryptSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchableEncryptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchableEncryptionServer).EncryptSearchable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.SearchableEncryption/EncryptSearchable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchableEncryptionServer).EncryptSearchable(ctx, req.(*SearchableEncryptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SearchableEncryption_DecryptSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchableDecryptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchableEncryptionServer).DecryptSearchable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.SearchableEncryption/DecryptSearchable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchableEncryptionServer).DecryptSearchable(ctx, req.(*SearchableDecryptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SearchableEncryption_EncryptSymSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchableSymEncryptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchableEncryptionServer).EncryptSymSearchable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.SearchableEncryption/EncryptSymSearchable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchableEncryptionServer).EncryptSymSearchable(ctx, req.(*SearchableSymEncryptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SearchableEncryption_DecryptSymSearchable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchableSymDecryptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchableEncryptionServer).DecryptSymSearchable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.SearchableEncryption/DecryptSymSearchable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchableEncryptionServer).DecryptSymSearchable(ctx, req.(*SearchableSymDecryptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SearchableEncryption_GenerateQueryHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryHashRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchableEncryptionServer).GenerateQueryHash(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc_api.SearchableEncryption/GenerateQueryHash", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchableEncryptionServer).GenerateQueryHash(ctx, req.(*QueryHashRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// SearchableEncryption_ServiceDesc is the grpc.ServiceDesc for SearchableEncryption service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SearchableEncryption_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpc_api.SearchableEncryption", + HandlerType: (*SearchableEncryptionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "EncryptSearchable", + Handler: _SearchableEncryption_EncryptSearchable_Handler, + }, + { + MethodName: "DecryptSearchable", + Handler: _SearchableEncryption_DecryptSearchable_Handler, + }, + { + MethodName: "EncryptSymSearchable", + Handler: _SearchableEncryption_EncryptSymSearchable_Handler, + }, + { + MethodName: "DecryptSymSearchable", + Handler: _SearchableEncryption_DecryptSymSearchable_Handler, + }, + { + MethodName: "GenerateQueryHash", + Handler: _SearchableEncryption_GenerateQueryHash_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api.proto", +} diff --git a/cmd/acra-translator/grpc_api/service.go b/cmd/acra-translator/grpc_api/service.go index 32a273c1c..1e83f2718 100644 --- a/cmd/acra-translator/grpc_api/service.go +++ b/cmd/acra-translator/grpc_api/service.go @@ -39,6 +39,12 @@ type TranslatorService struct { data *common.TranslatorData logger *logrus.Entry service common.ITranslatorService + UnimplementedReaderServer + UnimplementedReaderSymServer + UnimplementedTokenizatorServer + UnimplementedSearchableEncryptionServer + UnimplementedWriterServer + UnimplementedWriterSymServer } // NewTranslatorService return new TranslatorService instance @@ -47,7 +53,9 @@ func NewTranslatorService(service common.ITranslatorService, translatorData *com if translatorData == nil { return nil, ErrNoTranslatorData } - return &TranslatorService{translatorData, logger, service}, nil + return &TranslatorService{translatorData, logger, service, + UnimplementedReaderServer{}, UnimplementedReaderSymServer{}, UnimplementedTokenizatorServer{}, + UnimplementedSearchableEncryptionServer{}, UnimplementedWriterServer{}, UnimplementedWriterSymServer{}}, nil } // Errors possible during decrypting AcraStructs. diff --git a/cmd/acra-translator/grpc_api/tls_service.go b/cmd/acra-translator/grpc_api/tls_service.go index 9b49ae6ab..2a2f45dee 100644 --- a/cmd/acra-translator/grpc_api/tls_service.go +++ b/cmd/acra-translator/grpc_api/tls_service.go @@ -20,6 +20,12 @@ type DecryptService interface { type TLSDecryptServiceWrapper struct { decryptor DecryptService tlsClientIDExtractor network.TLSClientIDExtractor + UnimplementedReaderServer + UnimplementedReaderSymServer + UnimplementedTokenizatorServer + UnimplementedSearchableEncryptionServer + UnimplementedWriterServer + UnimplementedWriterSymServer } func getClientID(ctx context.Context, extractor network.TLSClientIDExtractor) ([]byte, error) { @@ -142,5 +148,7 @@ func (wrapper *TLSDecryptServiceWrapper) GenerateQueryHash(ctx context.Context, // NewTLSDecryptServiceWrapper return new service wrapper which use clientID from TLS certificates func NewTLSDecryptServiceWrapper(service DecryptService, tlsClientIDExtractor network.TLSClientIDExtractor) (*TLSDecryptServiceWrapper, error) { - return &TLSDecryptServiceWrapper{service, tlsClientIDExtractor}, nil + return &TLSDecryptServiceWrapper{service, tlsClientIDExtractor, + UnimplementedReaderServer{}, UnimplementedReaderSymServer{}, UnimplementedTokenizatorServer{}, + UnimplementedSearchableEncryptionServer{}, UnimplementedWriterServer{}, UnimplementedWriterSymServer{}}, nil } diff --git a/tests/api_pb2.py b/tests/api_pb2.py index e1014bcf5..fba2fac65 100644 --- a/tests/api_pb2.py +++ b/tests/api_pb2.py @@ -1,225 +1,1107 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='api.proto', + package='grpc_api', + syntax='proto3', + serialized_options=b'Z8github.com/cossacklabs/acra/cmd/acra-translator/grpc_api', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\tapi.proto\x12\x08grpc_api\"H\n\x0e\x44\x65\x63ryptRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x12\n\nacrastruct\x18\x03 \x01(\x0c\"\x1f\n\x0f\x44\x65\x63ryptResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"B\n\x0e\x45ncryptRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"%\n\x0f\x45ncryptResponse\x12\x12\n\nacrastruct\x18\x01 \x01(\x0c\"\xaf\x01\n\x0fTokenizeRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x15\n\x0b\x65mail_value\x18\x04 \x01(\tH\x00\x12\x15\n\x0bint32_value\x18\x05 \x01(\x05H\x00\x12\x15\n\x0bint64_value\x18\x06 \x01(\x03H\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x42\x07\n\x05value\"\x8f\x01\n\x10TokenizeResponse\x12\x13\n\tstr_token\x18\x01 \x01(\tH\x00\x12\x15\n\x0b\x65mail_token\x18\x02 \x01(\tH\x00\x12\x15\n\x0bint32_token\x18\x03 \x01(\x05H\x00\x12\x15\n\x0bint64_token\x18\x04 \x01(\x03H\x00\x12\x15\n\x0b\x62ytes_token\x18\x05 \x01(\x0cH\x00\x42\n\n\x08response\"O\n\x1bSearchableEncryptionRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"@\n\x1cSearchableEncryptionResponse\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x12\n\nacrastruct\x18\x02 \x01(\x0c\"]\n\x1bSearchableDecryptionRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0c\n\x04hash\x18\x04 \x01(\x0c\",\n\x1cSearchableDecryptionResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"R\n\x1eSearchableSymEncryptionRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"B\n\x1fSearchableSymEncryptionResponse\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x11\n\tacrablock\x18\x02 \x01(\x0c\"`\n\x1eSearchableSymDecryptionRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0c\n\x04hash\x18\x04 \x01(\x0c\"/\n\x1fSearchableSymDecryptionResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"D\n\x10QueryHashRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"!\n\x11QueryHashResponse\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\"J\n\x11\x44\x65\x63ryptSymRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x11\n\tacrablock\x18\x03 \x01(\x0c\"\"\n\x12\x44\x65\x63ryptSymResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"E\n\x11\x45ncryptSymRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\'\n\x12\x45ncryptSymResponse\x12\x11\n\tacrablock\x18\x01 \x01(\x0c\x32J\n\x06Reader\x12@\n\x07\x44\x65\x63rypt\x12\x18.grpc_api.DecryptRequest\x1a\x19.grpc_api.DecryptResponse\"\x00\x32J\n\x06Writer\x12@\n\x07\x45ncrypt\x12\x18.grpc_api.EncryptRequest\x1a\x19.grpc_api.EncryptResponse\"\x00\x32\x99\x01\n\x0bTokenizator\x12\x43\n\x08Tokenize\x12\x19.grpc_api.TokenizeRequest\x1a\x1a.grpc_api.TokenizeResponse\"\x00\x12\x45\n\nDetokenize\x12\x19.grpc_api.TokenizeRequest\x1a\x1a.grpc_api.TokenizeResponse\"\x00\x32V\n\tReaderSym\x12I\n\nDecryptSym\x12\x1b.grpc_api.DecryptSymRequest\x1a\x1c.grpc_api.DecryptSymResponse\"\x00\x32V\n\tWriterSym\x12I\n\nEncryptSym\x12\x1b.grpc_api.EncryptSymRequest\x1a\x1c.grpc_api.EncryptSymResponse\"\x00\x32\x90\x04\n\x14SearchableEncryption\x12\x64\n\x11\x45ncryptSearchable\x12%.grpc_api.SearchableEncryptionRequest\x1a&.grpc_api.SearchableEncryptionResponse\"\x00\x12\x64\n\x11\x44\x65\x63ryptSearchable\x12%.grpc_api.SearchableDecryptionRequest\x1a&.grpc_api.SearchableDecryptionResponse\"\x00\x12m\n\x14\x45ncryptSymSearchable\x12(.grpc_api.SearchableSymEncryptionRequest\x1a).grpc_api.SearchableSymEncryptionResponse\"\x00\x12m\n\x14\x44\x65\x63ryptSymSearchable\x12(.grpc_api.SearchableSymDecryptionRequest\x1a).grpc_api.SearchableSymDecryptionResponse\"\x00\x12N\n\x11GenerateQueryHash\x12\x1a.grpc_api.QueryHashRequest\x1a\x1b.grpc_api.QueryHashResponse\"\x00\x42:Z8github.com/cossacklabs/acra/cmd/acra-translator/grpc_apib\x06proto3' +) + + + + +_DECRYPTREQUEST = _descriptor.Descriptor( + name='DecryptRequest', + full_name='grpc_api.DecryptRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.DecryptRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.DecryptRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='acrastruct', full_name='grpc_api.DecryptRequest.acrastruct', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23, + serialized_end=95, +) + + +_DECRYPTRESPONSE = _descriptor.Descriptor( + name='DecryptResponse', + full_name='grpc_api.DecryptResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.DecryptResponse.data', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=97, + serialized_end=128, +) + + +_ENCRYPTREQUEST = _descriptor.Descriptor( + name='EncryptRequest', + full_name='grpc_api.EncryptRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.EncryptRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.EncryptRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.EncryptRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=130, + serialized_end=196, +) + + +_ENCRYPTRESPONSE = _descriptor.Descriptor( + name='EncryptResponse', + full_name='grpc_api.EncryptResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='acrastruct', full_name='grpc_api.EncryptResponse.acrastruct', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=198, + serialized_end=235, +) + + +_TOKENIZEREQUEST = _descriptor.Descriptor( + name='TokenizeRequest', + full_name='grpc_api.TokenizeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.TokenizeRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.TokenizeRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='str_value', full_name='grpc_api.TokenizeRequest.str_value', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='email_value', full_name='grpc_api.TokenizeRequest.email_value', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='int32_value', full_name='grpc_api.TokenizeRequest.int32_value', index=4, + number=5, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='int64_value', full_name='grpc_api.TokenizeRequest.int64_value', index=5, + number=6, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bytes_value', full_name='grpc_api.TokenizeRequest.bytes_value', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='value', full_name='grpc_api.TokenizeRequest.value', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=238, + serialized_end=413, +) + + +_TOKENIZERESPONSE = _descriptor.Descriptor( + name='TokenizeResponse', + full_name='grpc_api.TokenizeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='str_token', full_name='grpc_api.TokenizeResponse.str_token', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='email_token', full_name='grpc_api.TokenizeResponse.email_token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='int32_token', full_name='grpc_api.TokenizeResponse.int32_token', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='int64_token', full_name='grpc_api.TokenizeResponse.int64_token', index=3, + number=4, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bytes_token', full_name='grpc_api.TokenizeResponse.bytes_token', index=4, + number=5, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='response', full_name='grpc_api.TokenizeResponse.response', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=416, + serialized_end=559, +) + + +_SEARCHABLEENCRYPTIONREQUEST = _descriptor.Descriptor( + name='SearchableEncryptionRequest', + full_name='grpc_api.SearchableEncryptionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.SearchableEncryptionRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.SearchableEncryptionRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableEncryptionRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=561, + serialized_end=640, +) + + +_SEARCHABLEENCRYPTIONRESPONSE = _descriptor.Descriptor( + name='SearchableEncryptionResponse', + full_name='grpc_api.SearchableEncryptionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hash', full_name='grpc_api.SearchableEncryptionResponse.hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='acrastruct', full_name='grpc_api.SearchableEncryptionResponse.acrastruct', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=642, + serialized_end=706, +) + + +_SEARCHABLEDECRYPTIONREQUEST = _descriptor.Descriptor( + name='SearchableDecryptionRequest', + full_name='grpc_api.SearchableDecryptionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.SearchableDecryptionRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.SearchableDecryptionRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableDecryptionRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hash', full_name='grpc_api.SearchableDecryptionRequest.hash', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=708, + serialized_end=801, +) + + +_SEARCHABLEDECRYPTIONRESPONSE = _descriptor.Descriptor( + name='SearchableDecryptionResponse', + full_name='grpc_api.SearchableDecryptionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableDecryptionResponse.data', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=803, + serialized_end=847, +) + + +_SEARCHABLESYMENCRYPTIONREQUEST = _descriptor.Descriptor( + name='SearchableSymEncryptionRequest', + full_name='grpc_api.SearchableSymEncryptionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.SearchableSymEncryptionRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.SearchableSymEncryptionRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableSymEncryptionRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=849, + serialized_end=931, +) -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) -_sym_db = _symbol_database.Default() +_SEARCHABLESYMENCRYPTIONRESPONSE = _descriptor.Descriptor( + name='SearchableSymEncryptionResponse', + full_name='grpc_api.SearchableSymEncryptionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hash', full_name='grpc_api.SearchableSymEncryptionResponse.hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='acrablock', full_name='grpc_api.SearchableSymEncryptionResponse.acrablock', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=933, + serialized_end=999, +) + + +_SEARCHABLESYMDECRYPTIONREQUEST = _descriptor.Descriptor( + name='SearchableSymDecryptionRequest', + full_name='grpc_api.SearchableSymDecryptionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.SearchableSymDecryptionRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.SearchableSymDecryptionRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableSymDecryptionRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hash', full_name='grpc_api.SearchableSymDecryptionRequest.hash', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1001, + serialized_end=1097, +) +_SEARCHABLESYMDECRYPTIONRESPONSE = _descriptor.Descriptor( + name='SearchableSymDecryptionResponse', + full_name='grpc_api.SearchableSymDecryptionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.SearchableSymDecryptionResponse.data', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1099, + serialized_end=1146, +) -DESCRIPTOR = _descriptor.FileDescriptor( - name='api.proto', - package='grpc_api', +_QUERYHASHREQUEST = _descriptor.Descriptor( + name='QueryHashRequest', + full_name='grpc_api.QueryHashRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='grpc_api.QueryHashRequest.client_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zone_id', full_name='grpc_api.QueryHashRequest.zone_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data', full_name='grpc_api.QueryHashRequest.data', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, syntax='proto3', - serialized_pb=_b('\n\tapi.proto\x12\x08grpc_api\"H\n\x0e\x44\x65\x63ryptRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x12\n\nacrastruct\x18\x03 \x01(\x0c\"\x1f\n\x0f\x44\x65\x63ryptResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"B\n\x0e\x45ncryptRequest\x12\x11\n\tclient_id\x18\x01 \x01(\x0c\x12\x0f\n\x07zone_id\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"%\n\x0f\x45ncryptResponse\x12\x12\n\nacrastruct\x18\x01 \x01(\x0c\x32J\n\x06Reader\x12@\n\x07\x44\x65\x63rypt\x12\x18.grpc_api.DecryptRequest\x1a\x19.grpc_api.DecryptResponse\"\x00\x32J\n\x06Writer\x12@\n\x07\x45ncrypt\x12\x18.grpc_api.EncryptRequest\x1a\x19.grpc_api.EncryptResponse\"\x00\x62\x06proto3') + extension_ranges=[], + oneofs=[ + ], + serialized_start=1148, + serialized_end=1216, ) +_QUERYHASHRESPONSE = _descriptor.Descriptor( + name='QueryHashResponse', + full_name='grpc_api.QueryHashResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hash', full_name='grpc_api.QueryHashResponse.hash', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1218, + serialized_end=1251, +) -_DECRYPTREQUEST = _descriptor.Descriptor( - name='DecryptRequest', - full_name='grpc_api.DecryptRequest', +_DECRYPTSYMREQUEST = _descriptor.Descriptor( + name='DecryptSymRequest', + full_name='grpc_api.DecryptSymRequest', filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='client_id', full_name='grpc_api.DecryptRequest.client_id', index=0, + name='client_id', full_name='grpc_api.DecryptSymRequest.client_id', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='zone_id', full_name='grpc_api.DecryptRequest.zone_id', index=1, + name='zone_id', full_name='grpc_api.DecryptSymRequest.zone_id', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='acrastruct', full_name='grpc_api.DecryptRequest.acrastruct', index=2, + name='acrablock', full_name='grpc_api.DecryptSymRequest.acrablock', index=2, number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=23, - serialized_end=95, + serialized_start=1253, + serialized_end=1327, ) -_DECRYPTRESPONSE = _descriptor.Descriptor( - name='DecryptResponse', - full_name='grpc_api.DecryptResponse', +_DECRYPTSYMRESPONSE = _descriptor.Descriptor( + name='DecryptSymResponse', + full_name='grpc_api.DecryptSymResponse', filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='data', full_name='grpc_api.DecryptResponse.data', index=0, + name='data', full_name='grpc_api.DecryptSymResponse.data', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=97, - serialized_end=128, + serialized_start=1329, + serialized_end=1363, ) -_ENCRYPTREQUEST = _descriptor.Descriptor( - name='EncryptRequest', - full_name='grpc_api.EncryptRequest', +_ENCRYPTSYMREQUEST = _descriptor.Descriptor( + name='EncryptSymRequest', + full_name='grpc_api.EncryptSymRequest', filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='client_id', full_name='grpc_api.EncryptRequest.client_id', index=0, + name='client_id', full_name='grpc_api.EncryptSymRequest.client_id', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='zone_id', full_name='grpc_api.EncryptRequest.zone_id', index=1, + name='zone_id', full_name='grpc_api.EncryptSymRequest.zone_id', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='data', full_name='grpc_api.EncryptRequest.data', index=2, + name='data', full_name='grpc_api.EncryptSymRequest.data', index=2, number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=130, - serialized_end=196, + serialized_start=1365, + serialized_end=1434, ) -_ENCRYPTRESPONSE = _descriptor.Descriptor( - name='EncryptResponse', - full_name='grpc_api.EncryptResponse', +_ENCRYPTSYMRESPONSE = _descriptor.Descriptor( + name='EncryptSymResponse', + full_name='grpc_api.EncryptSymResponse', filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='acrastruct', full_name='grpc_api.EncryptResponse.acrastruct', index=0, + name='acrablock', full_name='grpc_api.EncryptSymResponse.acrablock', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=198, - serialized_end=235, + serialized_start=1436, + serialized_end=1475, ) +_TOKENIZEREQUEST.oneofs_by_name['value'].fields.append( + _TOKENIZEREQUEST.fields_by_name['str_value']) +_TOKENIZEREQUEST.fields_by_name['str_value'].containing_oneof = _TOKENIZEREQUEST.oneofs_by_name['value'] +_TOKENIZEREQUEST.oneofs_by_name['value'].fields.append( + _TOKENIZEREQUEST.fields_by_name['email_value']) +_TOKENIZEREQUEST.fields_by_name['email_value'].containing_oneof = _TOKENIZEREQUEST.oneofs_by_name['value'] +_TOKENIZEREQUEST.oneofs_by_name['value'].fields.append( + _TOKENIZEREQUEST.fields_by_name['int32_value']) +_TOKENIZEREQUEST.fields_by_name['int32_value'].containing_oneof = _TOKENIZEREQUEST.oneofs_by_name['value'] +_TOKENIZEREQUEST.oneofs_by_name['value'].fields.append( + _TOKENIZEREQUEST.fields_by_name['int64_value']) +_TOKENIZEREQUEST.fields_by_name['int64_value'].containing_oneof = _TOKENIZEREQUEST.oneofs_by_name['value'] +_TOKENIZEREQUEST.oneofs_by_name['value'].fields.append( + _TOKENIZEREQUEST.fields_by_name['bytes_value']) +_TOKENIZEREQUEST.fields_by_name['bytes_value'].containing_oneof = _TOKENIZEREQUEST.oneofs_by_name['value'] +_TOKENIZERESPONSE.oneofs_by_name['response'].fields.append( + _TOKENIZERESPONSE.fields_by_name['str_token']) +_TOKENIZERESPONSE.fields_by_name['str_token'].containing_oneof = _TOKENIZERESPONSE.oneofs_by_name['response'] +_TOKENIZERESPONSE.oneofs_by_name['response'].fields.append( + _TOKENIZERESPONSE.fields_by_name['email_token']) +_TOKENIZERESPONSE.fields_by_name['email_token'].containing_oneof = _TOKENIZERESPONSE.oneofs_by_name['response'] +_TOKENIZERESPONSE.oneofs_by_name['response'].fields.append( + _TOKENIZERESPONSE.fields_by_name['int32_token']) +_TOKENIZERESPONSE.fields_by_name['int32_token'].containing_oneof = _TOKENIZERESPONSE.oneofs_by_name['response'] +_TOKENIZERESPONSE.oneofs_by_name['response'].fields.append( + _TOKENIZERESPONSE.fields_by_name['int64_token']) +_TOKENIZERESPONSE.fields_by_name['int64_token'].containing_oneof = _TOKENIZERESPONSE.oneofs_by_name['response'] +_TOKENIZERESPONSE.oneofs_by_name['response'].fields.append( + _TOKENIZERESPONSE.fields_by_name['bytes_token']) +_TOKENIZERESPONSE.fields_by_name['bytes_token'].containing_oneof = _TOKENIZERESPONSE.oneofs_by_name['response'] DESCRIPTOR.message_types_by_name['DecryptRequest'] = _DECRYPTREQUEST DESCRIPTOR.message_types_by_name['DecryptResponse'] = _DECRYPTRESPONSE DESCRIPTOR.message_types_by_name['EncryptRequest'] = _ENCRYPTREQUEST DESCRIPTOR.message_types_by_name['EncryptResponse'] = _ENCRYPTRESPONSE +DESCRIPTOR.message_types_by_name['TokenizeRequest'] = _TOKENIZEREQUEST +DESCRIPTOR.message_types_by_name['TokenizeResponse'] = _TOKENIZERESPONSE +DESCRIPTOR.message_types_by_name['SearchableEncryptionRequest'] = _SEARCHABLEENCRYPTIONREQUEST +DESCRIPTOR.message_types_by_name['SearchableEncryptionResponse'] = _SEARCHABLEENCRYPTIONRESPONSE +DESCRIPTOR.message_types_by_name['SearchableDecryptionRequest'] = _SEARCHABLEDECRYPTIONREQUEST +DESCRIPTOR.message_types_by_name['SearchableDecryptionResponse'] = _SEARCHABLEDECRYPTIONRESPONSE +DESCRIPTOR.message_types_by_name['SearchableSymEncryptionRequest'] = _SEARCHABLESYMENCRYPTIONREQUEST +DESCRIPTOR.message_types_by_name['SearchableSymEncryptionResponse'] = _SEARCHABLESYMENCRYPTIONRESPONSE +DESCRIPTOR.message_types_by_name['SearchableSymDecryptionRequest'] = _SEARCHABLESYMDECRYPTIONREQUEST +DESCRIPTOR.message_types_by_name['SearchableSymDecryptionResponse'] = _SEARCHABLESYMDECRYPTIONRESPONSE +DESCRIPTOR.message_types_by_name['QueryHashRequest'] = _QUERYHASHREQUEST +DESCRIPTOR.message_types_by_name['QueryHashResponse'] = _QUERYHASHRESPONSE +DESCRIPTOR.message_types_by_name['DecryptSymRequest'] = _DECRYPTSYMREQUEST +DESCRIPTOR.message_types_by_name['DecryptSymResponse'] = _DECRYPTSYMRESPONSE +DESCRIPTOR.message_types_by_name['EncryptSymRequest'] = _ENCRYPTSYMREQUEST +DESCRIPTOR.message_types_by_name['EncryptSymResponse'] = _ENCRYPTSYMRESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) -DecryptRequest = _reflection.GeneratedProtocolMessageType('DecryptRequest', (_message.Message,), dict( - DESCRIPTOR = _DECRYPTREQUEST, - __module__ = 'api_pb2' +DecryptRequest = _reflection.GeneratedProtocolMessageType('DecryptRequest', (_message.Message,), { + 'DESCRIPTOR' : _DECRYPTREQUEST, + '__module__' : 'api_pb2' # @@protoc_insertion_point(class_scope:grpc_api.DecryptRequest) - )) + }) _sym_db.RegisterMessage(DecryptRequest) -DecryptResponse = _reflection.GeneratedProtocolMessageType('DecryptResponse', (_message.Message,), dict( - DESCRIPTOR = _DECRYPTRESPONSE, - __module__ = 'api_pb2' +DecryptResponse = _reflection.GeneratedProtocolMessageType('DecryptResponse', (_message.Message,), { + 'DESCRIPTOR' : _DECRYPTRESPONSE, + '__module__' : 'api_pb2' # @@protoc_insertion_point(class_scope:grpc_api.DecryptResponse) - )) + }) _sym_db.RegisterMessage(DecryptResponse) -EncryptRequest = _reflection.GeneratedProtocolMessageType('EncryptRequest', (_message.Message,), dict( - DESCRIPTOR = _ENCRYPTREQUEST, - __module__ = 'api_pb2' +EncryptRequest = _reflection.GeneratedProtocolMessageType('EncryptRequest', (_message.Message,), { + 'DESCRIPTOR' : _ENCRYPTREQUEST, + '__module__' : 'api_pb2' # @@protoc_insertion_point(class_scope:grpc_api.EncryptRequest) - )) + }) _sym_db.RegisterMessage(EncryptRequest) -EncryptResponse = _reflection.GeneratedProtocolMessageType('EncryptResponse', (_message.Message,), dict( - DESCRIPTOR = _ENCRYPTRESPONSE, - __module__ = 'api_pb2' +EncryptResponse = _reflection.GeneratedProtocolMessageType('EncryptResponse', (_message.Message,), { + 'DESCRIPTOR' : _ENCRYPTRESPONSE, + '__module__' : 'api_pb2' # @@protoc_insertion_point(class_scope:grpc_api.EncryptResponse) - )) + }) _sym_db.RegisterMessage(EncryptResponse) +TokenizeRequest = _reflection.GeneratedProtocolMessageType('TokenizeRequest', (_message.Message,), { + 'DESCRIPTOR' : _TOKENIZEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.TokenizeRequest) + }) +_sym_db.RegisterMessage(TokenizeRequest) + +TokenizeResponse = _reflection.GeneratedProtocolMessageType('TokenizeResponse', (_message.Message,), { + 'DESCRIPTOR' : _TOKENIZERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.TokenizeResponse) + }) +_sym_db.RegisterMessage(TokenizeResponse) + +SearchableEncryptionRequest = _reflection.GeneratedProtocolMessageType('SearchableEncryptionRequest', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLEENCRYPTIONREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableEncryptionRequest) + }) +_sym_db.RegisterMessage(SearchableEncryptionRequest) + +SearchableEncryptionResponse = _reflection.GeneratedProtocolMessageType('SearchableEncryptionResponse', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLEENCRYPTIONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableEncryptionResponse) + }) +_sym_db.RegisterMessage(SearchableEncryptionResponse) + +SearchableDecryptionRequest = _reflection.GeneratedProtocolMessageType('SearchableDecryptionRequest', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLEDECRYPTIONREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableDecryptionRequest) + }) +_sym_db.RegisterMessage(SearchableDecryptionRequest) + +SearchableDecryptionResponse = _reflection.GeneratedProtocolMessageType('SearchableDecryptionResponse', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLEDECRYPTIONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableDecryptionResponse) + }) +_sym_db.RegisterMessage(SearchableDecryptionResponse) + +SearchableSymEncryptionRequest = _reflection.GeneratedProtocolMessageType('SearchableSymEncryptionRequest', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLESYMENCRYPTIONREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableSymEncryptionRequest) + }) +_sym_db.RegisterMessage(SearchableSymEncryptionRequest) + +SearchableSymEncryptionResponse = _reflection.GeneratedProtocolMessageType('SearchableSymEncryptionResponse', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLESYMENCRYPTIONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableSymEncryptionResponse) + }) +_sym_db.RegisterMessage(SearchableSymEncryptionResponse) +SearchableSymDecryptionRequest = _reflection.GeneratedProtocolMessageType('SearchableSymDecryptionRequest', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLESYMDECRYPTIONREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableSymDecryptionRequest) + }) +_sym_db.RegisterMessage(SearchableSymDecryptionRequest) + +SearchableSymDecryptionResponse = _reflection.GeneratedProtocolMessageType('SearchableSymDecryptionResponse', (_message.Message,), { + 'DESCRIPTOR' : _SEARCHABLESYMDECRYPTIONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.SearchableSymDecryptionResponse) + }) +_sym_db.RegisterMessage(SearchableSymDecryptionResponse) + +QueryHashRequest = _reflection.GeneratedProtocolMessageType('QueryHashRequest', (_message.Message,), { + 'DESCRIPTOR' : _QUERYHASHREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.QueryHashRequest) + }) +_sym_db.RegisterMessage(QueryHashRequest) + +QueryHashResponse = _reflection.GeneratedProtocolMessageType('QueryHashResponse', (_message.Message,), { + 'DESCRIPTOR' : _QUERYHASHRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.QueryHashResponse) + }) +_sym_db.RegisterMessage(QueryHashResponse) + +DecryptSymRequest = _reflection.GeneratedProtocolMessageType('DecryptSymRequest', (_message.Message,), { + 'DESCRIPTOR' : _DECRYPTSYMREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.DecryptSymRequest) + }) +_sym_db.RegisterMessage(DecryptSymRequest) + +DecryptSymResponse = _reflection.GeneratedProtocolMessageType('DecryptSymResponse', (_message.Message,), { + 'DESCRIPTOR' : _DECRYPTSYMRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.DecryptSymResponse) + }) +_sym_db.RegisterMessage(DecryptSymResponse) + +EncryptSymRequest = _reflection.GeneratedProtocolMessageType('EncryptSymRequest', (_message.Message,), { + 'DESCRIPTOR' : _ENCRYPTSYMREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.EncryptSymRequest) + }) +_sym_db.RegisterMessage(EncryptSymRequest) + +EncryptSymResponse = _reflection.GeneratedProtocolMessageType('EncryptSymResponse', (_message.Message,), { + 'DESCRIPTOR' : _ENCRYPTSYMRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:grpc_api.EncryptSymResponse) + }) +_sym_db.RegisterMessage(EncryptSymResponse) + + +DESCRIPTOR._options = None _READER = _descriptor.ServiceDescriptor( name='Reader', full_name='grpc_api.Reader', file=DESCRIPTOR, index=0, - options=None, - serialized_start=237, - serialized_end=311, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1477, + serialized_end=1551, methods=[ _descriptor.MethodDescriptor( name='Decrypt', @@ -228,7 +1110,8 @@ containing_service=None, input_type=_DECRYPTREQUEST, output_type=_DECRYPTRESPONSE, - options=None, + serialized_options=None, + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_READER) @@ -241,9 +1124,10 @@ full_name='grpc_api.Writer', file=DESCRIPTOR, index=1, - options=None, - serialized_start=313, - serialized_end=387, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1553, + serialized_end=1627, methods=[ _descriptor.MethodDescriptor( name='Encrypt', @@ -252,11 +1136,166 @@ containing_service=None, input_type=_ENCRYPTREQUEST, output_type=_ENCRYPTRESPONSE, - options=None, + serialized_options=None, + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_WRITER) DESCRIPTOR.services_by_name['Writer'] = _WRITER + +_TOKENIZATOR = _descriptor.ServiceDescriptor( + name='Tokenizator', + full_name='grpc_api.Tokenizator', + file=DESCRIPTOR, + index=2, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1630, + serialized_end=1783, + methods=[ + _descriptor.MethodDescriptor( + name='Tokenize', + full_name='grpc_api.Tokenizator.Tokenize', + index=0, + containing_service=None, + input_type=_TOKENIZEREQUEST, + output_type=_TOKENIZERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='Detokenize', + full_name='grpc_api.Tokenizator.Detokenize', + index=1, + containing_service=None, + input_type=_TOKENIZEREQUEST, + output_type=_TOKENIZERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_TOKENIZATOR) + +DESCRIPTOR.services_by_name['Tokenizator'] = _TOKENIZATOR + + +_READERSYM = _descriptor.ServiceDescriptor( + name='ReaderSym', + full_name='grpc_api.ReaderSym', + file=DESCRIPTOR, + index=3, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1785, + serialized_end=1871, + methods=[ + _descriptor.MethodDescriptor( + name='DecryptSym', + full_name='grpc_api.ReaderSym.DecryptSym', + index=0, + containing_service=None, + input_type=_DECRYPTSYMREQUEST, + output_type=_DECRYPTSYMRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_READERSYM) + +DESCRIPTOR.services_by_name['ReaderSym'] = _READERSYM + + +_WRITERSYM = _descriptor.ServiceDescriptor( + name='WriterSym', + full_name='grpc_api.WriterSym', + file=DESCRIPTOR, + index=4, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1873, + serialized_end=1959, + methods=[ + _descriptor.MethodDescriptor( + name='EncryptSym', + full_name='grpc_api.WriterSym.EncryptSym', + index=0, + containing_service=None, + input_type=_ENCRYPTSYMREQUEST, + output_type=_ENCRYPTSYMRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_WRITERSYM) + +DESCRIPTOR.services_by_name['WriterSym'] = _WRITERSYM + + +_SEARCHABLEENCRYPTION = _descriptor.ServiceDescriptor( + name='SearchableEncryption', + full_name='grpc_api.SearchableEncryption', + file=DESCRIPTOR, + index=5, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1962, + serialized_end=2490, + methods=[ + _descriptor.MethodDescriptor( + name='EncryptSearchable', + full_name='grpc_api.SearchableEncryption.EncryptSearchable', + index=0, + containing_service=None, + input_type=_SEARCHABLEENCRYPTIONREQUEST, + output_type=_SEARCHABLEENCRYPTIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DecryptSearchable', + full_name='grpc_api.SearchableEncryption.DecryptSearchable', + index=1, + containing_service=None, + input_type=_SEARCHABLEDECRYPTIONREQUEST, + output_type=_SEARCHABLEDECRYPTIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='EncryptSymSearchable', + full_name='grpc_api.SearchableEncryption.EncryptSymSearchable', + index=2, + containing_service=None, + input_type=_SEARCHABLESYMENCRYPTIONREQUEST, + output_type=_SEARCHABLESYMENCRYPTIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DecryptSymSearchable', + full_name='grpc_api.SearchableEncryption.DecryptSymSearchable', + index=3, + containing_service=None, + input_type=_SEARCHABLESYMDECRYPTIONREQUEST, + output_type=_SEARCHABLESYMDECRYPTIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GenerateQueryHash', + full_name='grpc_api.SearchableEncryption.GenerateQueryHash', + index=4, + containing_service=None, + input_type=_QUERYHASHREQUEST, + output_type=_QUERYHASHRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_SEARCHABLEENCRYPTION) + +DESCRIPTOR.services_by_name['SearchableEncryption'] = _SEARCHABLEENCRYPTION + # @@protoc_insertion_point(module_scope) diff --git a/tests/api_pb2_grpc.py b/tests/api_pb2_grpc.py index e7224b5e9..af1447355 100644 --- a/tests/api_pb2_grpc.py +++ b/tests/api_pb2_grpc.py @@ -1,88 +1,536 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc import api_pb2 as api__pb2 class ReaderStub(object): - # missing associated documentation comment in .proto file - pass + """Missing associated documentation comment in .proto file.""" - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.Decrypt = channel.unary_unary( - '/grpc_api.Reader/Decrypt', - request_serializer=api__pb2.DecryptRequest.SerializeToString, - response_deserializer=api__pb2.DecryptResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.Decrypt = channel.unary_unary( + '/grpc_api.Reader/Decrypt', + request_serializer=api__pb2.DecryptRequest.SerializeToString, + response_deserializer=api__pb2.DecryptResponse.FromString, + ) class ReaderServicer(object): - # missing associated documentation comment in .proto file - pass + """Missing associated documentation comment in .proto file.""" - def Decrypt(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Decrypt(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_ReaderServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Decrypt': grpc.unary_unary_rpc_method_handler( - servicer.Decrypt, - request_deserializer=api__pb2.DecryptRequest.FromString, - response_serializer=api__pb2.DecryptResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'grpc_api.Reader', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'Decrypt': grpc.unary_unary_rpc_method_handler( + servicer.Decrypt, + request_deserializer=api__pb2.DecryptRequest.FromString, + response_serializer=api__pb2.DecryptResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.Reader', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Reader(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Decrypt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.Reader/Decrypt', + api__pb2.DecryptRequest.SerializeToString, + api__pb2.DecryptResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) class WriterStub(object): - # missing associated documentation comment in .proto file - pass + """Missing associated documentation comment in .proto file.""" - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.Encrypt = channel.unary_unary( - '/grpc_api.Writer/Encrypt', - request_serializer=api__pb2.EncryptRequest.SerializeToString, - response_deserializer=api__pb2.EncryptResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.Encrypt = channel.unary_unary( + '/grpc_api.Writer/Encrypt', + request_serializer=api__pb2.EncryptRequest.SerializeToString, + response_deserializer=api__pb2.EncryptResponse.FromString, + ) class WriterServicer(object): - # missing associated documentation comment in .proto file - pass + """Missing associated documentation comment in .proto file.""" - def Encrypt(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Encrypt(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_WriterServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Encrypt': grpc.unary_unary_rpc_method_handler( - servicer.Encrypt, - request_deserializer=api__pb2.EncryptRequest.FromString, - response_serializer=api__pb2.EncryptResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'grpc_api.Writer', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'Encrypt': grpc.unary_unary_rpc_method_handler( + servicer.Encrypt, + request_deserializer=api__pb2.EncryptRequest.FromString, + response_serializer=api__pb2.EncryptResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.Writer', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Writer(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Encrypt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.Writer/Encrypt', + api__pb2.EncryptRequest.SerializeToString, + api__pb2.EncryptResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class TokenizatorStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Tokenize = channel.unary_unary( + '/grpc_api.Tokenizator/Tokenize', + request_serializer=api__pb2.TokenizeRequest.SerializeToString, + response_deserializer=api__pb2.TokenizeResponse.FromString, + ) + self.Detokenize = channel.unary_unary( + '/grpc_api.Tokenizator/Detokenize', + request_serializer=api__pb2.TokenizeRequest.SerializeToString, + response_deserializer=api__pb2.TokenizeResponse.FromString, + ) + + +class TokenizatorServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Tokenize(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Detokenize(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_TokenizatorServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Tokenize': grpc.unary_unary_rpc_method_handler( + servicer.Tokenize, + request_deserializer=api__pb2.TokenizeRequest.FromString, + response_serializer=api__pb2.TokenizeResponse.SerializeToString, + ), + 'Detokenize': grpc.unary_unary_rpc_method_handler( + servicer.Detokenize, + request_deserializer=api__pb2.TokenizeRequest.FromString, + response_serializer=api__pb2.TokenizeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.Tokenizator', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Tokenizator(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Tokenize(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.Tokenizator/Tokenize', + api__pb2.TokenizeRequest.SerializeToString, + api__pb2.TokenizeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Detokenize(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.Tokenizator/Detokenize', + api__pb2.TokenizeRequest.SerializeToString, + api__pb2.TokenizeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class ReaderSymStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.DecryptSym = channel.unary_unary( + '/grpc_api.ReaderSym/DecryptSym', + request_serializer=api__pb2.DecryptSymRequest.SerializeToString, + response_deserializer=api__pb2.DecryptSymResponse.FromString, + ) + + +class ReaderSymServicer(object): + """Missing associated documentation comment in .proto file.""" + + def DecryptSym(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ReaderSymServicer_to_server(servicer, server): + rpc_method_handlers = { + 'DecryptSym': grpc.unary_unary_rpc_method_handler( + servicer.DecryptSym, + request_deserializer=api__pb2.DecryptSymRequest.FromString, + response_serializer=api__pb2.DecryptSymResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.ReaderSym', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ReaderSym(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def DecryptSym(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.ReaderSym/DecryptSym', + api__pb2.DecryptSymRequest.SerializeToString, + api__pb2.DecryptSymResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class WriterSymStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.EncryptSym = channel.unary_unary( + '/grpc_api.WriterSym/EncryptSym', + request_serializer=api__pb2.EncryptSymRequest.SerializeToString, + response_deserializer=api__pb2.EncryptSymResponse.FromString, + ) + + +class WriterSymServicer(object): + """Missing associated documentation comment in .proto file.""" + + def EncryptSym(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WriterSymServicer_to_server(servicer, server): + rpc_method_handlers = { + 'EncryptSym': grpc.unary_unary_rpc_method_handler( + servicer.EncryptSym, + request_deserializer=api__pb2.EncryptSymRequest.FromString, + response_serializer=api__pb2.EncryptSymResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.WriterSym', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class WriterSym(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def EncryptSym(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.WriterSym/EncryptSym', + api__pb2.EncryptSymRequest.SerializeToString, + api__pb2.EncryptSymResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class SearchableEncryptionStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.EncryptSearchable = channel.unary_unary( + '/grpc_api.SearchableEncryption/EncryptSearchable', + request_serializer=api__pb2.SearchableEncryptionRequest.SerializeToString, + response_deserializer=api__pb2.SearchableEncryptionResponse.FromString, + ) + self.DecryptSearchable = channel.unary_unary( + '/grpc_api.SearchableEncryption/DecryptSearchable', + request_serializer=api__pb2.SearchableDecryptionRequest.SerializeToString, + response_deserializer=api__pb2.SearchableDecryptionResponse.FromString, + ) + self.EncryptSymSearchable = channel.unary_unary( + '/grpc_api.SearchableEncryption/EncryptSymSearchable', + request_serializer=api__pb2.SearchableSymEncryptionRequest.SerializeToString, + response_deserializer=api__pb2.SearchableSymEncryptionResponse.FromString, + ) + self.DecryptSymSearchable = channel.unary_unary( + '/grpc_api.SearchableEncryption/DecryptSymSearchable', + request_serializer=api__pb2.SearchableSymDecryptionRequest.SerializeToString, + response_deserializer=api__pb2.SearchableSymDecryptionResponse.FromString, + ) + self.GenerateQueryHash = channel.unary_unary( + '/grpc_api.SearchableEncryption/GenerateQueryHash', + request_serializer=api__pb2.QueryHashRequest.SerializeToString, + response_deserializer=api__pb2.QueryHashResponse.FromString, + ) + + +class SearchableEncryptionServicer(object): + """Missing associated documentation comment in .proto file.""" + + def EncryptSearchable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DecryptSearchable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EncryptSymSearchable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DecryptSymSearchable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GenerateQueryHash(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SearchableEncryptionServicer_to_server(servicer, server): + rpc_method_handlers = { + 'EncryptSearchable': grpc.unary_unary_rpc_method_handler( + servicer.EncryptSearchable, + request_deserializer=api__pb2.SearchableEncryptionRequest.FromString, + response_serializer=api__pb2.SearchableEncryptionResponse.SerializeToString, + ), + 'DecryptSearchable': grpc.unary_unary_rpc_method_handler( + servicer.DecryptSearchable, + request_deserializer=api__pb2.SearchableDecryptionRequest.FromString, + response_serializer=api__pb2.SearchableDecryptionResponse.SerializeToString, + ), + 'EncryptSymSearchable': grpc.unary_unary_rpc_method_handler( + servicer.EncryptSymSearchable, + request_deserializer=api__pb2.SearchableSymEncryptionRequest.FromString, + response_serializer=api__pb2.SearchableSymEncryptionResponse.SerializeToString, + ), + 'DecryptSymSearchable': grpc.unary_unary_rpc_method_handler( + servicer.DecryptSymSearchable, + request_deserializer=api__pb2.SearchableSymDecryptionRequest.FromString, + response_serializer=api__pb2.SearchableSymDecryptionResponse.SerializeToString, + ), + 'GenerateQueryHash': grpc.unary_unary_rpc_method_handler( + servicer.GenerateQueryHash, + request_deserializer=api__pb2.QueryHashRequest.FromString, + response_serializer=api__pb2.QueryHashResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc_api.SearchableEncryption', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class SearchableEncryption(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def EncryptSearchable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.SearchableEncryption/EncryptSearchable', + api__pb2.SearchableEncryptionRequest.SerializeToString, + api__pb2.SearchableEncryptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DecryptSearchable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.SearchableEncryption/DecryptSearchable', + api__pb2.SearchableDecryptionRequest.SerializeToString, + api__pb2.SearchableDecryptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EncryptSymSearchable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.SearchableEncryption/EncryptSymSearchable', + api__pb2.SearchableSymEncryptionRequest.SerializeToString, + api__pb2.SearchableSymEncryptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DecryptSymSearchable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.SearchableEncryption/DecryptSymSearchable', + api__pb2.SearchableSymDecryptionRequest.SerializeToString, + api__pb2.SearchableSymDecryptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GenerateQueryHash(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc_api.SearchableEncryption/GenerateQueryHash', + api__pb2.QueryHashRequest.SerializeToString, + api__pb2.QueryHashResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/tests/requirements.txt b/tests/requirements.txt index 33308e0f0..1c442227f 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -11,8 +11,8 @@ requests==2.25.1 pyyaml==5.4.1 hvac==0.10.11 # https://grpc.io/docs/quickstart/python.html -grpcio==1.37.1 -grpcio-tools==1.37.1 +grpcio==1.42.0 +grpcio-tools==1.42.0 googleapis-common-protos==1.53.0 prometheus_client==0.10.1 unittest-xml-reporting==3.0.4