diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2017-05-05 11:36:53 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2017-05-05 11:36:53 +0200 |
commit | a903be5d964fcda2c7f6eb649885dbd98901fb72 (patch) | |
tree | c4714d265a82b3c7aef7188853b439d8d54b8bf5 /mysys_ssl/my_crypt.cc | |
parent | 1f63feb91a027cdccbf3c14d513d11acf8aa7431 (diff) | |
parent | 6935d66053b2c9723314d89d5169dcf34ed56c08 (diff) | |
download | mariadb-git-10.2-wlad-merge.tar.gz |
Merge commit '6935d66053b2c9723314d89d5169dcf34ed56c08' into bb-10.2-marko10.2-wlad-merge
# Conflicts:
# debian/control
# debian/mariadb-server-10.2.install
# include/my_sys.h
# mysql-test/collections/buildbot_suites.bat
# plugin/auth_dialog/CMakeLists.txt
# sql/CMakeLists.txt
# sql/sql_class.cc
# storage/innobase/CMakeLists.txt
# storage/innobase/log/log0crypt.cc
# win/packaging/CPackWixConfig.cmake
Diffstat (limited to 'mysys_ssl/my_crypt.cc')
-rw-r--r-- | mysys_ssl/my_crypt.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/mysys_ssl/my_crypt.cc b/mysys_ssl/my_crypt.cc index 5411a908bf8..2ab38711d0f 100644 --- a/mysys_ssl/my_crypt.cc +++ b/mysys_ssl/my_crypt.cc @@ -269,6 +269,32 @@ int my_aes_crypt(enum my_aes_mode mode, int flags, return res1 ? res1 : res2; } + +/* + calculate the length of the cyphertext from the length of the plaintext + for different AES encryption modes with padding enabled. + Without padding (ENCRYPTION_FLAG_NOPAD) cyphertext has the same length + as the plaintext +*/ +unsigned int my_aes_get_size(enum my_aes_mode mode __attribute__((unused)), unsigned int source_length) +{ +#ifdef HAVE_EncryptAes128Ctr + if (mode == MY_AES_CTR) + return source_length; +#ifdef HAVE_EncryptAes128Gcm + if (mode == MY_AES_GCM) + return source_length + MY_AES_BLOCK_SIZE; +#endif +#endif + return (source_length / MY_AES_BLOCK_SIZE + 1) * MY_AES_BLOCK_SIZE; +} + + +unsigned int my_aes_ctx_size(enum my_aes_mode) +{ + return MY_AES_CTX_SIZE; +} + #ifdef HAVE_YASSL #include <random.hpp> int my_random_bytes(uchar* buf, int num) |