[tarantool-patches] [PATCH v2 0/3] swim encryption preparation
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Mon Apr 29 14:07:36 MSK 2019
SWIM needs encryption because it transmits packets affecting cluster state and
topology, probably via public networks between datacenters. Tarantool hasn't had
normal crypto library with useful C API on board until now. OpenSSL was used,
but its API is crazy, and before this patchset it was used in Lua only, via FFI.
The patchset moves existing OpenSSL wrappers into a separate library and extends
it with pretty API. It is going to be used by SWIM.
Branch: http://github.com/tarantool/tarantool/tree/gerold103/crypto-lib
Changes in V2:
- Added new codec 'None';
- Renamed 'encode/decode' to 'encrypt/decrypt';
- Removed usage of constants from crypto.c.
V1: https://www.freelists.org/post/tarantool-patches/PATCH-03-swim-encryption-preparation
Vladislav Shpilevoy (3):
crypto: move crypto business into a separate library
crypto: make exported methods conform code style
crypto: implement crypto codec API and AES 128 encryption
extra/exports | 13 +-
src/CMakeLists.txt | 3 +-
src/lib/CMakeLists.txt | 1 +
src/lib/core/diag.h | 2 +
src/lib/core/exception.cc | 25 ++++
src/lib/core/exception.h | 7 +
src/lib/crypto/CMakeLists.txt | 5 +
src/lib/crypto/crypto.c | 260 ++++++++++++++++++++++++++++++++++
src/lib/crypto/crypto.h | 142 +++++++++++++++++++
src/lua/crypto.c | 73 ----------
src/lua/crypto.h | 54 -------
src/lua/crypto.lua | 42 +++---
src/main.cc | 3 +
test/unit/CMakeLists.txt | 3 +
test/unit/crypto.c | 191 +++++++++++++++++++++++++
test/unit/crypto.result | 40 ++++++
16 files changed, 706 insertions(+), 158 deletions(-)
create mode 100644 src/lib/crypto/CMakeLists.txt
create mode 100644 src/lib/crypto/crypto.c
create mode 100644 src/lib/crypto/crypto.h
delete mode 100644 src/lua/crypto.c
delete mode 100644 src/lua/crypto.h
create mode 100644 test/unit/crypto.c
create mode 100644 test/unit/crypto.result
--
2.20.1 (Apple Git-117)
More information about the Tarantool-patches
mailing list