Closed Lagovas closed 2 years ago
you prefer that I will fix current comments, commit, wait approval and after that split it into the separate PRs and review one more time or we can finish it as is and keep it in mind in the future?)
I think we can left this PR as is :)
DataRowDescription
andParameterDescriptionData
. InDataRowDescription
now we replaceOID
values that tell drivers which data types will be returned. InParameterDescriptionData
we replaceOID
s for parameters in prepared statements. To tell apps that they should pass string value instead of binary (that will be changed on Acra side)default_data_value
anddata_type
. Last values generated via protobuf in similar way as token type.QueryDataEncryptor
to re-use functions related to parsing placeholders and saving encryptor's settings in context/client session valuesClientSession
interface to provide KV interface and store session related data for client/db packet handlersacra-log-verifier
config file from configs folderctx
) with flag after successful decryption (base.[MarkDecryptedContext|IsDecryptedFromContext]
). Needs for replacing with default values binary data types that hard to determine when they was untouchedSubscribeOnColumnDecryption
and all related methods of proxies due to not usingPgSQLDataEncoderProcessor
. Now it used not only for tokenization, but for decoding all input data from database and encoding before sending to client. Also removed this logic fromPostgresqlDecryptor
which now responsible only for database packet parsing. All other data manipulations moved to OnQuery/OnBind/OnColumn subscribersDecodedData
wrapper forColumn
structs used by decryptorIt's ready to review. Probably last changes will be related to encryptor's config validation and updating changelogs (after that I will change it from status
Draft
). So welcome to review.Checklist
[ ] Benchmark results are attached (if applicable)are up-to-date (in case of API changes)