Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v3 0/4] crypto lib
@ 2019-05-07 20:53 Vladislav Shpilevoy
  2019-05-07 20:53 ` [tarantool-patches] [PATCH v3 1/4] crypto: move crypto business into a separate library Vladislav Shpilevoy
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Vladislav Shpilevoy @ 2019-05-07 20:53 UTC (permalink / raw)
  To: tarantool-patches; +Cc: kostja, georgy

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 far from simple, and before this patchset it was used in Lua
only, via FFI.

The patchset moves existing OpenSSL wrappers into a separate library, extends
it with pretty API, and replaces some parts of crypto.lua module. It is going to
be used by SWIM.

Branch: http://github.com/tarantool/tarantool/tree/gerold103/crypto-lib

Changes in V3:
- Added crypto_stream to replace cipher in crypto.lua module;
- Initial vector is passed explicitly to each encrypt(), and is not stored in
  codec object;
- All the same standards are supported as in crypto.lua were.

V2: https://www.freelists.org/post/tarantool-patches/PATCH-v2-03-swim-encryption-preparation

Vladislav Shpilevoy (4):
  crypto: move crypto business into a separate library
  crypto: make exported methods conform code style
  crypto: implement crypto libary
  crypto: use crypto library in crypto.lua

 extra/exports                 |  16 +-
 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       | 391 ++++++++++++++++++++++++++++++++++
 src/lib/crypto/crypto.h       | 283 ++++++++++++++++++++++++
 src/lua/crypto.c              |  73 -------
 src/lua/crypto.h              |  54 -----
 src/lua/crypto.lua            | 263 ++++++++++++-----------
 src/main.cc                   |   3 +
 test/app/crypto.result        | 114 +++++++---
 test/app/crypto.test.lua      |  32 ++-
 test/unit/CMakeLists.txt      |   3 +
 test/unit/crypto.c            | 302 ++++++++++++++++++++++++++
 test/unit/crypto.result       | 132 ++++++++++++
 18 files changed, 1418 insertions(+), 291 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)

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-05-15 13:42 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-07 20:53 [tarantool-patches] [PATCH v3 0/4] crypto lib Vladislav Shpilevoy
2019-05-07 20:53 ` [tarantool-patches] [PATCH v3 1/4] crypto: move crypto business into a separate library Vladislav Shpilevoy
2019-05-15  7:58   ` [tarantool-patches] " Георгий Кириченко
2019-05-07 20:53 ` [tarantool-patches] [PATCH v3 2/4] crypto: make exported methods conform code style Vladislav Shpilevoy
2019-05-15  7:58   ` [tarantool-patches] " Георгий Кириченко
2019-05-07 20:53 ` [tarantool-patches] [PATCH v3 3/4] crypto: implement crypto libary Vladislav Shpilevoy
2019-05-15  7:58   ` [tarantool-patches] " Георгий Кириченко
2019-05-07 20:53 ` [tarantool-patches] [PATCH v3 4/4] crypto: use crypto library in crypto.lua Vladislav Shpilevoy
2019-05-15  8:01   ` [tarantool-patches] " Георгий Кириченко
2019-05-15 13:42     ` Vladislav Shpilevoy
2019-05-15 13:42 ` [tarantool-patches] Re: [PATCH v3 0/4] crypto lib Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox