Alexey Milovidov
10022ee974
Fix insufficient argument check for encryption functions
2022-08-14 04:28:30 +02:00
Robert Schulze
13482af4ee
First try at reducing the use of StringRef
...
- to be replaced by std::string_view
- suggested in #39262
2022-07-17 17:26:02 +00:00
Robert Schulze
deda29b46b
Pass const StringRef by value, not by reference
...
See #39224
2022-07-15 11:34:56 +00:00
Alexey Milovidov
0e07fe1002
Fix error
2021-11-28 07:18:00 +03:00
Alexey Milovidov
a4e57228cf
Add a test from #31662
2021-11-24 23:09:50 +03:00
Alexey Milovidov
bd1964a2eb
Fix exception on some of the applications of "decrypt" function on Nullable columns
2021-11-24 16:46:20 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
Maksim Kita
c2407fee06
Fixed tests
2021-09-30 14:35:24 +03:00
Pavel Kruglov
70b51133c1
Try to simplify code
2021-08-09 18:01:08 +03:00
Pavel Kruglov
0662df8b76
Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution
2021-08-09 17:54:14 +03:00
Pavel Kruglov
e792fa588f
Mark all Functions as sutable or not for executing as short circuit arguments
2021-08-09 17:50:09 +03:00
Nikolai Kochetov
dbaa6ffc62
Rename ContextConstPtr to ContextPtr.
2021-06-01 15:20:52 +03:00
Alexander Kuzmenkov
3f57fc085b
remove mutable context references from functions interface
...
Also remove it from some visitors.
2021-05-28 19:45:37 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr ( #22297 )
...
* Replace all Context references with std::weak_ptr
* Fix shared context captured by value
* Fix build
* Fix Context with named sessions
* Fix copy context
* Fix gcc build
* Merge with master and fix build
* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Alexey Milovidov
3e74f56261
Fix missing check in decrypt for AEAD mode
2021-03-24 03:34:30 +03:00
Alexey Milovidov
f7db6e10d3
Fix very strange code in AES functions
2021-01-23 02:35:40 +03:00
Alexey Milovidov
bbe3c54f34
Merge branch 'aes-msan' into aes-remove-complications
2021-01-23 00:48:45 +03:00
Alexey Milovidov
9ee9d7293a
Remove complications from FunctionsAES
2021-01-23 00:48:03 +03:00
Alexey Milovidov
56d09886e2
Fix MSan report in AES functions
2021-01-22 04:08:10 +03:00
Alexey Milovidov
e42ff1ae02
Port ClickHouse code to BoringSSL
2020-11-30 10:01:55 +03:00
Ivan Lezhankin
f897f7c93f
Refactor IFunction to execute with const arguments
2020-11-17 16:24:45 +03:00
Mikhail Filimonov
41971e073a
Fix typos reported by codespell
2020-10-27 12:04:03 +01:00
Xianda Ke
97d84dd855
minor fix.
...
redundant variable, duplicated defination of the variable aad_data
compiler error: variable ‘aad_value’ set but not used [-Werror=unused-but-set-variable]
2020-10-24 17:37:51 +08:00
Azat Khuzhin
6f78243e32
Use std::nullptr_t over nullptr_t
2020-10-22 01:21:06 +03:00
Nikolai Kochetov
c4c1446111
Fix build.
2020-10-21 09:22:20 +03:00
Vasily Nemkov
4124538b56
Merge remote-tracking branch 'upstream/master' into AES_encrypt_decrypt
2020-10-18 00:00:13 +03:00
Vasily Nemkov
f0d5ade1c1
Fixed argument checks and updated tests accordingly
2020-10-17 19:50:58 +03:00
Alexey Milovidov
ac670d6868
Merge with master
2020-10-14 16:52:59 +03:00
Vasily Nemkov
8984f4b8c2
Empty string optimization for encryption
2020-10-14 16:33:07 +03:00
alexey-milovidov
200bc9b9b2
Update FunctionsAES.h
2020-09-17 00:57:26 +03:00
alexey-milovidov
60f91332b3
Update FunctionsAES.h
2020-09-17 00:52:01 +03:00
Vasily Nemkov
8129169ead
Fixed Yandex-specific builds :(
2020-09-10 22:52:42 +03:00
Vasily Nemkov
d6c84291c9
Fixed data race caused by EVP_CIPHER_fetch()
2020-09-08 16:28:52 +03:00
Vasily Nemkov
bdaa012239
Fixed compilation for older (pre-3.0.0) OpenSSL versions
2020-09-01 12:42:23 +03:00
Vasily Nemkov
7cc4118dab
Fixed AES encrypt/decrypt performance
...
Improved execution time of EVP_DecryptInit_ex/EVP_EncryptInit_ex with some hacks
Fixed all-const case
2020-09-01 12:42:23 +03:00
Vasily Nemkov
b147ffcd43
encrypt, aes_encrypt_mysql, decrypt, aes_decrypt_mysql functions
...
Functions to encrypt/decrypt any input data with OpenSSL's ciphers
with custom key, iv, and add (-gcm mode only).
_mysql versions are 100% compatitable with corresponding MySQL functions
Supported modes depend on OpenSSL version, but generally are:
aes-{128,192,56}-{ecb,cbc,cfb1,cfb8,cfb128,ofb,gcm}
Please note that in a -gcm mode a 16-byte tag is appended to the ciphertext
on encryption and is expected to be found at the end of ciphertext on decryption.
Added tests that verify compatibility with MySQL functions,
and test vectors for GCM mode from OpenSSL.
Added masking rules for aes_X funtions
Rules are installed by default to config.d/query_masking_rules.xml
2020-09-01 12:42:15 +03:00