Browse Source

Split crypto and tls libraries into directories

I am calling the crypto library "crypt_ops", since I want
higher-level crypto things to be separated from lower-level ones.
This library will hold only the low-level ones, once we have it
refactored.
Nick Mathewson 5 years ago
parent
commit
25ccfff86a
41 changed files with 75 additions and 49 deletions
  1. 4 3
      .gitignore
  2. 4 2
      Makefile.am
  3. 0 43
      src/common/include.am
  4. 2 0
      src/include.am
  5. 0 0
      src/lib/crypt_ops/aes.c
  6. 0 0
      src/lib/crypt_ops/aes.h
  7. 0 0
      src/lib/crypt_ops/compat_openssl.h
  8. 0 0
      src/lib/crypt_ops/crypto.c
  9. 0 0
      src/lib/crypt_ops/crypto.h
  10. 0 0
      src/lib/crypt_ops/crypto_curve25519.c
  11. 0 0
      src/lib/crypt_ops/crypto_curve25519.h
  12. 0 0
      src/lib/crypt_ops/crypto_dh.c
  13. 0 0
      src/lib/crypt_ops/crypto_dh.h
  14. 0 0
      src/lib/crypt_ops/crypto_digest.c
  15. 0 0
      src/lib/crypt_ops/crypto_digest.h
  16. 0 0
      src/lib/crypt_ops/crypto_ed25519.c
  17. 0 0
      src/lib/crypt_ops/crypto_ed25519.h
  18. 0 0
      src/lib/crypt_ops/crypto_format.c
  19. 0 0
      src/lib/crypt_ops/crypto_format.h
  20. 0 0
      src/lib/crypt_ops/crypto_hkdf.c
  21. 0 0
      src/lib/crypt_ops/crypto_hkdf.h
  22. 0 0
      src/lib/crypt_ops/crypto_openssl_mgt.c
  23. 0 0
      src/lib/crypt_ops/crypto_openssl_mgt.h
  24. 0 0
      src/lib/crypt_ops/crypto_pwbox.c
  25. 0 0
      src/lib/crypt_ops/crypto_pwbox.h
  26. 0 0
      src/lib/crypt_ops/crypto_rand.c
  27. 0 0
      src/lib/crypt_ops/crypto_rand.h
  28. 0 0
      src/lib/crypt_ops/crypto_rsa.c
  29. 0 0
      src/lib/crypt_ops/crypto_rsa.h
  30. 0 0
      src/lib/crypt_ops/crypto_s2k.c
  31. 0 0
      src/lib/crypt_ops/crypto_s2k.h
  32. 0 0
      src/lib/crypt_ops/crypto_util.c
  33. 0 0
      src/lib/crypt_ops/crypto_util.h
  34. 44 0
      src/lib/crypt_ops/include.am
  35. 0 0
      src/lib/tls/buffers_tls.c
  36. 0 0
      src/lib/tls/buffers_tls.h
  37. 0 0
      src/lib/tls/ciphers.inc
  38. 20 0
      src/lib/tls/include.am
  39. 0 0
      src/lib/tls/tortls.c
  40. 0 0
      src/lib/tls/tortls.h
  41. 1 1
      src/rust/build.rs

+ 4 - 3
.gitignore

@@ -141,9 +141,6 @@ uptime-*.json
 /src/common/libor-ctime.a
 /src/common/libor-ctime-testing.a
 /src/common/libor-ctime.lib
-/src/common/libor-crypto.a
-/src/common/libor-crypto-testing.a
-/src/common/libor-crypto.lib
 /src/common/libor-event.a
 /src/common/libor-event-testing.a
 /src/common/libor-event.lib
@@ -169,10 +166,14 @@ uptime-*.json
 # /src/lib
 /src/lib/libtor-compress.a
 /src/lib/libtor-compress-testing.a
+/src/lib/libtor-crypt-ops.a
+/src/lib/libtor-crypt-ops-testing.a
 /src/lib/libtor-ctime.a
 /src/lib/libtor-ctime-testing.a
 /src/lib/libtor-err.a
 /src/lib/libtor-err-testing.a
+/src/lib/libtor-tls.a
+/src/lib/libtor-tls-testing.a
 /src/lib/libtor-trace.a
 
 # /src/or/

+ 4 - 2
Makefile.am

@@ -52,14 +52,16 @@ TOR_UTIL_TESTING_LIBS = \
 
 # Internal crypto libraries used in Tor
 TOR_CRYPTO_LIBS = \
-	src/common/libor-crypto.a \
+	src/lib/libtor-tls.a \
+	src/lib/libtor-crypt-ops.a \
 	$(LIBKECCAK_TINY) \
 	$(LIBDONNA)
 
 # Variants of the above for linking the testing variant of tor (for coverage
 # and tests)
 TOR_CRYPTO_TESTING_LIBS = \
-	src/common/libor-crypto-testing.a \
+	src/lib/libtor-tls-testing.a \
+	src/lib/libtor-crypt-ops-testing.a \
 	$(LIBKECCAK_TINY) \
 	$(LIBDONNA)
 

+ 0 - 43
src/common/include.am

@@ -1,13 +1,11 @@
 
 noinst_LIBRARIES += \
 	src/common/libor.a \
-	src/common/libor-crypto.a \
 	src/common/libor-event.a
 
 if UNITTESTS_ENABLED
 noinst_LIBRARIES += \
 	src/common/libor-testing.a \
-	src/common/libor-crypto-testing.a \
 	src/common/libor-event-testing.a
 endif
 
@@ -83,24 +81,6 @@ LIBOR_A_SRC = \
 src/common/src_common_libor_testing_a-log.$(OBJEXT) \
   src/common/log.$(OBJEXT): micro-revision.i
 
-LIBOR_CRYPTO_A_SRC = \
-  src/common/aes.c		\
-  src/common/buffers_tls.c	\
-  src/common/crypto.c		\
-  src/common/crypto_dh.c       \
-  src/common/crypto_digest.c     \
-  src/common/crypto_format.c	\
-  src/common/crypto_hkdf.c      \
-  src/common/crypto_openssl_mgt.c    \
-  src/common/crypto_pwbox.c     \
-  src/common/crypto_rand.c     \
-  src/common/crypto_rsa.c     \
-  src/common/crypto_s2k.c	\
-  src/common/crypto_util.c	\
-  src/common/tortls.c		\
-  src/common/crypto_curve25519.c \
-  src/common/crypto_ed25519.c
-
 LIBOR_EVENT_A_SRC = \
 	src/common/compat_libevent.c \
 	src/common/procmon.c         \
@@ -108,53 +88,31 @@ LIBOR_EVENT_A_SRC = \
 	src/ext/timeouts/timeout.c
 
 src_common_libor_a_SOURCES = $(LIBOR_A_SRC)
-src_common_libor_crypto_a_SOURCES = $(LIBOR_CRYPTO_A_SRC)
 src_common_libor_event_a_SOURCES = $(LIBOR_EVENT_A_SRC)
 
 if UNITTESTS_ENABLED
 src_common_libor_testing_a_SOURCES = $(LIBOR_A_SRC)
-src_common_libor_crypto_testing_a_SOURCES = $(LIBOR_CRYPTO_A_SRC)
 src_common_libor_event_testing_a_SOURCES = $(LIBOR_EVENT_A_SRC)
 else
 src_common_libor_testing_a_SOURCES =
-src_common_libor_crypto_testing_a_SOURCES =
 src_common_libor_event_testing_a_SOURCES =
 endif
 
 src_common_libor_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
-src_common_libor_crypto_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
 src_common_libor_event_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
 src_common_libor_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-src_common_libor_crypto_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
 src_common_libor_event_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
 
 COMMONHEADERS = \
   src/common/address.h				\
   src/common/address_set.h			\
   src/common/buffers.h				\
-  src/common/buffers_tls.h			\
-  src/common/aes.h				\
-  src/common/ciphers.inc			\
   src/common/compat.h				\
   src/common/compat_libevent.h			\
-  src/common/compat_openssl.h			\
   src/common/compat_threads.h			\
   src/common/compat_time.h			\
   src/common/confline.h				\
   src/common/container.h			\
-  src/common/crypto.h				\
-  src/common/crypto_dh.h            \
-  src/common/crypto_digest.h            \
-  src/common/crypto_curve25519.h		\
-  src/common/crypto_ed25519.h			\
-  src/common/crypto_format.h			\
-  src/common/crypto_hkdf.h              \
-  src/common/crypto_openssl_mgt.h         \
-  src/common/crypto_pwbox.h			\
-  src/common/crypto_rand.h          \
-  src/common/crypto_rsa.h           \
-  src/common/crypto_s2k.h			\
-  src/common/crypto_util.h			\
   src/common/handles.h				\
   src/common/memarea.h				\
   src/common/linux_syscalls.inc			\
@@ -165,7 +123,6 @@ COMMONHEADERS = \
   src/common/timers.h				\
   src/common/token_bucket.h			\
   src/common/torlog.h				\
-  src/common/tortls.h				\
   src/common/util.h				\
   src/common/util_bug.h				\
   src/common/util_format.h			\

+ 2 - 0
src/include.am

@@ -3,6 +3,8 @@ include src/lib/err/include.am
 include src/lib/cc/include.am
 include src/lib/ctime/include.am
 include src/lib/compress/include.am
+include src/lib/crypt_ops/include.am
+include src/lib/tls/include.am
 include src/lib/trace/include.am
 include src/common/include.am
 include src/trunnel/include.am

+ 0 - 0
src/common/aes.c → src/lib/crypt_ops/aes.c


+ 0 - 0
src/common/aes.h → src/lib/crypt_ops/aes.h


+ 0 - 0
src/common/compat_openssl.h → src/lib/crypt_ops/compat_openssl.h


+ 0 - 0
src/common/crypto.c → src/lib/crypt_ops/crypto.c


+ 0 - 0
src/common/crypto.h → src/lib/crypt_ops/crypto.h


+ 0 - 0
src/common/crypto_curve25519.c → src/lib/crypt_ops/crypto_curve25519.c


+ 0 - 0
src/common/crypto_curve25519.h → src/lib/crypt_ops/crypto_curve25519.h


+ 0 - 0
src/common/crypto_dh.c → src/lib/crypt_ops/crypto_dh.c


+ 0 - 0
src/common/crypto_dh.h → src/lib/crypt_ops/crypto_dh.h


+ 0 - 0
src/common/crypto_digest.c → src/lib/crypt_ops/crypto_digest.c


+ 0 - 0
src/common/crypto_digest.h → src/lib/crypt_ops/crypto_digest.h


+ 0 - 0
src/common/crypto_ed25519.c → src/lib/crypt_ops/crypto_ed25519.c


+ 0 - 0
src/common/crypto_ed25519.h → src/lib/crypt_ops/crypto_ed25519.h


+ 0 - 0
src/common/crypto_format.c → src/lib/crypt_ops/crypto_format.c


+ 0 - 0
src/common/crypto_format.h → src/lib/crypt_ops/crypto_format.h


+ 0 - 0
src/common/crypto_hkdf.c → src/lib/crypt_ops/crypto_hkdf.c


+ 0 - 0
src/common/crypto_hkdf.h → src/lib/crypt_ops/crypto_hkdf.h


+ 0 - 0
src/common/crypto_openssl_mgt.c → src/lib/crypt_ops/crypto_openssl_mgt.c


+ 0 - 0
src/common/crypto_openssl_mgt.h → src/lib/crypt_ops/crypto_openssl_mgt.h


+ 0 - 0
src/common/crypto_pwbox.c → src/lib/crypt_ops/crypto_pwbox.c


+ 0 - 0
src/common/crypto_pwbox.h → src/lib/crypt_ops/crypto_pwbox.h


+ 0 - 0
src/common/crypto_rand.c → src/lib/crypt_ops/crypto_rand.c


+ 0 - 0
src/common/crypto_rand.h → src/lib/crypt_ops/crypto_rand.h


+ 0 - 0
src/common/crypto_rsa.c → src/lib/crypt_ops/crypto_rsa.c


+ 0 - 0
src/common/crypto_rsa.h → src/lib/crypt_ops/crypto_rsa.h


+ 0 - 0
src/common/crypto_s2k.c → src/lib/crypt_ops/crypto_s2k.c


+ 0 - 0
src/common/crypto_s2k.h → src/lib/crypt_ops/crypto_s2k.h


+ 0 - 0
src/common/crypto_util.c → src/lib/crypt_ops/crypto_util.c


+ 0 - 0
src/common/crypto_util.h → src/lib/crypt_ops/crypto_util.h


+ 44 - 0
src/lib/crypt_ops/include.am

@@ -0,0 +1,44 @@
+
+noinst_LIBRARIES += src/lib/libtor-crypt-ops.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-crypt-ops-testing.a
+endif
+
+src_lib_libtor_crypt_ops_a_SOURCES =			\
+	src/lib/crypt_ops/aes.c				\
+	src/lib/crypt_ops/crypto.c			\
+	src/lib/crypt_ops/crypto_curve25519.c		\
+	src/lib/crypt_ops/crypto_dh.c			\
+	src/lib/crypt_ops/crypto_digest.c		\
+	src/lib/crypt_ops/crypto_ed25519.c		\
+	src/lib/crypt_ops/crypto_format.c		\
+	src/lib/crypt_ops/crypto_hkdf.c			\
+	src/lib/crypt_ops/crypto_openssl_mgt.c		\
+	src/lib/crypt_ops/crypto_pwbox.c		\
+	src/lib/crypt_ops/crypto_rand.c			\
+	src/lib/crypt_ops/crypto_rsa.c			\
+	src/lib/crypt_ops/crypto_s2k.c			\
+	src/lib/crypt_ops/crypto_util.c
+
+src_lib_libtor_crypt_ops_testing_a_SOURCES = \
+	$(src_lib_libtor_crypt_ops_a_SOURCES)
+src_lib_libtor_crypt_ops_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_crypt_ops_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+noinst_HEADERS +=					\
+	src/lib/crypt_ops/aes.h				\
+	src/lib/crypt_ops/compat_openssl.h		\
+	src/lib/crypt_ops/crypto_curve25519.h		\
+	src/lib/crypt_ops/crypto_dh.h			\
+	src/lib/crypt_ops/crypto_digest.h		\
+	src/lib/crypt_ops/crypto_ed25519.h		\
+	src/lib/crypt_ops/crypto_format.h		\
+	src/lib/crypt_ops/crypto.h			\
+	src/lib/crypt_ops/crypto_hkdf.h			\
+	src/lib/crypt_ops/crypto_openssl_mgt.h		\
+	src/lib/crypt_ops/crypto_pwbox.h		\
+	src/lib/crypt_ops/crypto_rand.h			\
+	src/lib/crypt_ops/crypto_rsa.h			\
+	src/lib/crypt_ops/crypto_s2k.h			\
+	src/lib/crypt_ops/crypto_util.h

+ 0 - 0
src/common/buffers_tls.c → src/lib/tls/buffers_tls.c


+ 0 - 0
src/common/buffers_tls.h → src/lib/tls/buffers_tls.h


+ 0 - 0
src/common/ciphers.inc → src/lib/tls/ciphers.inc


+ 20 - 0
src/lib/tls/include.am

@@ -0,0 +1,20 @@
+
+noinst_LIBRARIES += src/lib/libtor-tls.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-tls-testing.a
+endif
+
+src_lib_libtor_tls_a_SOURCES =			\
+	src/lib/tls/buffers_tls.c		\
+	src/lib/tls/tortls.c
+
+src_lib_libtor_tls_testing_a_SOURCES = \
+	$(src_lib_libtor_tls_a_SOURCES)
+src_lib_libtor_tls_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_tls_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+noinst_HEADERS +=				\
+	src/lib/tls/ciphers.inc			\
+	src/lib/tls/buffers_tls.h		\
+	src/lib/tls/tortls.h

+ 0 - 0
src/common/tortls.c → src/lib/tls/tortls.c


+ 0 - 0
src/common/tortls.h → src/lib/tls/tortls.h


+ 1 - 1
src/rust/build.rs

@@ -149,7 +149,7 @@ pub fn main() {
             // will have dependencies on all the other rust packages that
             // tor uses.  We must be careful with factoring and dependencies
             // moving forward!
-            cfg.component("or-crypto-testing");
+            cfg.component("tor-crypt-ops-testing");
             cfg.component("or-testing");
             cfg.component("tor-err-testing");
             cfg.component("or-event-testing");