Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pg_query integration #691

Merged
merged 20 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions acrablock/dataEncryptor.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ package acrablock

import (
"context"

"github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor"
"github.com/cossacklabs/acra/encryptor/config"
encryptor "github.com/cossacklabs/acra/encryptor/base"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore"
)

Expand Down
8 changes: 5 additions & 3 deletions acrablock/dataEncryptor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ package acrablock
import (
"bytes"
"errors"
"testing"

"github.com/cossacklabs/themis/gothemis/keys"

"github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore"
"github.com/cossacklabs/acra/keystore/mocks"
"github.com/cossacklabs/themis/gothemis/keys"
"testing"
)

func TestSuccessDataEncryptionWithClientID(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/acra-keys/keys/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ type GenerateKeySubcommand struct {
poisonRecord bool
}

// GetParamsExtractor return service params extractor
// GetExtractor return service params extractor
func (g *GenerateKeySubcommand) GetExtractor() *args.ServiceExtractor {
return g.extractor
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/acra-server/acra-server.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ import (
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/decryptor/mysql"
"github.com/cossacklabs/acra/decryptor/postgresql"
"github.com/cossacklabs/acra/encryptor/config_loader"
"github.com/cossacklabs/acra/encryptor/base/config_loader"
"github.com/cossacklabs/acra/keystore"
"github.com/cossacklabs/acra/keystore/filesystem"
"github.com/cossacklabs/acra/keystore/keyloader"
Expand Down
15 changes: 2 additions & 13 deletions cmd/acra-server/common/client_session.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ import (
"net"
"sync/atomic"

log "github.com/sirupsen/logrus"

"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/logging"
"github.com/cossacklabs/acra/network"
log "github.com/sirupsen/logrus"
)

// ClientSession handles connection between database and AcraServer.
Expand All @@ -34,7 +35,6 @@ type ClientSession struct {
connectionToDb net.Conn
ctx context.Context
logger *log.Entry
statements base.PreparedStatementRegistry
protocolState interface{}
data map[string]interface{}
}
Expand Down Expand Up @@ -100,17 +100,6 @@ func (clientSession *ClientSession) DatabaseConnection() net.Conn {
return clientSession.connectionToDb
}

// PreparedStatementRegistry returns prepared statement registry of this session.
// The session does not have a registry by default, it must be set with SetPreparedStatementRegistry.
func (clientSession *ClientSession) PreparedStatementRegistry() base.PreparedStatementRegistry {
return clientSession.statements
}

// SetPreparedStatementRegistry sets prepared statement registry for this session.
func (clientSession *ClientSession) SetPreparedStatementRegistry(registry base.PreparedStatementRegistry) {
clientSession.statements = registry
}

// ProtocolState returns private protocol state of this session.
// The session does not have any state by default, it must be set with SetProtocolState.
func (clientSession *ClientSession) ProtocolState() interface{} {
Expand Down
8 changes: 4 additions & 4 deletions cmd/acra-server/common/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ import (
"go.opencensus.io/trace"

acracensor "github.com/cossacklabs/acra/acra-censor"
"github.com/cossacklabs/acra/encryptor"
encryptorConfig "github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/encryptor/config_loader"
"github.com/cossacklabs/acra/encryptor/base"
encryptorConfig "github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/encryptor/base/config_loader"
"github.com/cossacklabs/acra/keystore"
"github.com/cossacklabs/acra/logging"
"github.com/cossacklabs/acra/network"
Expand Down Expand Up @@ -56,7 +56,7 @@ type Config struct {
censor acracensor.AcraCensorInterface
TraceToLog bool
tableSchema encryptorConfig.TableSchemaStore
dataEncryptor encryptor.DataEncryptor
dataEncryptor base.DataEncryptor
keystore keystore.ServerKeyStore
traceOptions []trace.StartOption
serviceName string
Expand Down
2 changes: 2 additions & 0 deletions cmd/acra-translator/grpc_api/api.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions crypto/acrablock.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package crypto

import (
"fmt"

"github.com/sirupsen/logrus"

"github.com/cossacklabs/acra/acrablock"
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor"
"github.com/cossacklabs/acra/encryptor/config"
encryptor "github.com/cossacklabs/acra/encryptor/base"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/logging"
"github.com/cossacklabs/acra/utils"
"github.com/sirupsen/logrus"
)

// AcraBlockEnvelopeID represent AcraBlock EnvelopeID will be serialized inside CryptoContainer
Expand Down
4 changes: 2 additions & 2 deletions crypto/acrastruct.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (

"github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor"
"github.com/cossacklabs/acra/encryptor/config"
encryptor "github.com/cossacklabs/acra/encryptor/base"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/logging"
"github.com/cossacklabs/acra/utils"
)
Expand Down
2 changes: 1 addition & 1 deletion crypto/encryptor.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package crypto

import (
"github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/encryptor/base/config"
)

// EncryptHandler wraps RegistryHandler as standalone CryptoEnvelope encryptor
Expand Down
8 changes: 5 additions & 3 deletions crypto/encryptor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package crypto

import (
"bytes"
"testing"

"github.com/cossacklabs/themis/gothemis/keys"

"github.com/cossacklabs/acra/acrablock"
"github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore/mocks"
"github.com/cossacklabs/themis/gothemis/keys"
"testing"
)

func TestEncryptHandler(t *testing.T) {
Expand Down
8 changes: 5 additions & 3 deletions crypto/matcher_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ package crypto
import (
"context"
"crypto/rand"
"testing"

"github.com/cossacklabs/themis/gothemis/keys"

acrablock2 "github.com/cossacklabs/acra/acrablock"
acrastruct2 "github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/encryptor"
encryptor "github.com/cossacklabs/acra/encryptor/base"
"github.com/cossacklabs/acra/keystore"
"github.com/cossacklabs/acra/keystore/mocks"
"github.com/cossacklabs/themis/gothemis/keys"
"testing"
)

func TestEnvelopeMatcher(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion crypto/prometheus.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package crypto

import (
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor"
encryptor "github.com/cossacklabs/acra/encryptor/base"
)

// PrometheusContainerHandlerWrapper wraps ContainerHandler with adding prometheus metrics logic
Expand Down
3 changes: 2 additions & 1 deletion crypto/reencryptor.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ package crypto

import (
"context"

"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore"
)

Expand Down
8 changes: 5 additions & 3 deletions crypto/reencryptor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package crypto

import (
"bytes"
"testing"

"github.com/cossacklabs/acra/acrablock"
"github.com/cossacklabs/acra/acrastruct"
"testing"

"github.com/cossacklabs/acra/encryptor/config"
"github.com/cossacklabs/acra/keystore/mocks"
"github.com/cossacklabs/themis/gothemis/keys"

"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore/mocks"
)

func TestReEncryptHandler(t *testing.T) {
Expand Down
5 changes: 3 additions & 2 deletions crypto/registry_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import (
"bytes"
"encoding/binary"
"errors"

"github.com/cossacklabs/acra/acrablock"
"github.com/cossacklabs/acra/acrastruct"
"github.com/cossacklabs/acra/decryptor/base"
"github.com/cossacklabs/acra/encryptor"
"github.com/cossacklabs/acra/encryptor/config"
encryptor "github.com/cossacklabs/acra/encryptor/base"
"github.com/cossacklabs/acra/encryptor/base/config"
"github.com/cossacklabs/acra/keystore"
)

Expand Down
23 changes: 23 additions & 0 deletions decryptor/base/bound_value.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package base

import "github.com/cossacklabs/acra/encryptor/base/config"

// BoundValue is a value provided for prepared statement execution.
// Its exact type and meaning depends on the corresponding query.
type BoundValue interface {
Format() BoundValueFormat
Copy() BoundValue
SetData(newData []byte, setting config.ColumnEncryptionSetting) error
GetData(setting config.ColumnEncryptionSetting) ([]byte, error)
Encode() ([]byte, error)
GetType() byte
}

// BoundValueFormat specifies how to interpret the bound data.
type BoundValueFormat uint16

// Supported values of BoundValueFormat.
const (
TextFormat BoundValueFormat = iota
BinaryFormat
)
4 changes: 0 additions & 4 deletions decryptor/base/clientSession.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ type ClientSession interface {
Context() context.Context
ClientConnection() net.Conn
DatabaseConnection() net.Conn

PreparedStatementRegistry() PreparedStatementRegistry
SetPreparedStatementRegistry(registry PreparedStatementRegistry)

ProtocolState() interface{}
SetProtocolState(state interface{})
GetData(string) (interface{}, bool)
Expand Down
8 changes: 0 additions & 8 deletions decryptor/base/clientSession_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,6 @@ func (s sessionStub) DatabaseConnection() net.Conn {
panic("implement me")
}

func (s sessionStub) PreparedStatementRegistry() PreparedStatementRegistry {
panic("implement me")
}

func (s sessionStub) SetPreparedStatementRegistry(registry PreparedStatementRegistry) {
panic("implement me")
}

func (s sessionStub) ProtocolState() interface{} {
panic("implement me")
}
Expand Down
23 changes: 14 additions & 9 deletions decryptor/base/mocks/BoundValue.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading