summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac31
-rw-r--r--src/Makefile.am8
-rw-r--r--src/mitm_stub.cc11
-rw-r--r--src/ssl_mbedtls.cc (renamed from src/ssl.cc)0
4 files changed, 39 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 18d3ed1..e346f6d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,22 +74,33 @@ AC_SUBST([THREAD_LIBS])
# SSL
have_ssl=0
-AC_CHECK_HEADERS(
- [mbedtls/ssl.h],
- [AC_CHECK_LIB(
- [mbedtls], [mbedtls_ssl_init],
- [AC_CHECK_LIB(
- [mbedx509], [mbedtls_x509_crt_init],
- [AC_CHECK_LIB(
- [mbedcrypto], [mbedtls_ctr_drbg_random],
- [have_ssl=1])])])])
+ssl_name="no SSL library found"
+ssl_mbedtls=0
SSL_CFLAGS=
-SSL_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto"
+SSL_LIBS=
+
+# Check for mbedtls
+AC_ARG_ENABLE([mbedtls],
+ [AC_HELP_STRING([--disable-mbedtls], [do not use mbedtls even if found])],
+ [mbedtls_check=$enableval], [mbedtls_check=yes])
+AS_IF([test x$mbedtls_check = xyes],
+ [AC_CHECK_HEADERS([mbedtls/ssl.h],
+ [AC_CHECK_LIB([mbedtls], [mbedtls_ssl_init],
+ [AC_CHECK_LIB([mbedx509], [mbedtls_x509_crt_init],
+ [AC_CHECK_LIB([mbedcrypto], [mbedtls_ctr_drbg_random],
+ [have_ssl=1
+ ssl_mbedtls=1
+ ssl_name=mbedtls
+ SSL_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto"])])])])])
+
AC_SUBST([SSL_CFLAGS])
AC_SUBST([SSL_LIBS])
AM_CONDITIONAL([HAVE_SSL],[test "x$have_ssl" = "x1"])
+AM_CONDITIONAL([HAVE_MBEDTLS],[test "x$ssl_mbedtls" = "x1"])
# Finish up
AC_CONFIG_HEADERS([src/config.h])
AC_OUTPUT([Makefile src/Makefile test/Makefile])
+
+AC_MSG_NOTICE([SSL library used: $ssl_name])
diff --git a/src/Makefile.am b/src/Makefile.am
index fbcdc67..7b1034c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -22,9 +22,15 @@ tp_CXXFLAGS = $(AM_CXXFLAGS) -DVERSION='"@VERSION@"' @THREAD_CFLAGS@
libtp_a_SOURCES = args.cc xdg.cc terminal.cc http.cc url.cc paths.cc \
character.cc config.cc strings.cc io.cc looper.cc \
buffer.cc chunked.cc
+if !HAVE_SSL
+libtp_a_SOURCES += mitm_stub.cc
+endif
libtp_a_CXXFLAGS = $(AM_CXXFLAGS) -DSYSCONFDIR='"@SYSCONFDIR@"'
-libmitm_a_SOURCES = ssl.cc mitm.cc
+libmitm_a_SOURCES = mitm.cc
+if HAVE_MBEDTLS
+libmitm_a_SOURCES += ssl_mbedtls.cc
+endif
libmitm_a_CXXFLAGS = $(AM_CXXFLAGS) @SSL_CFLAGS@
tp_genca_SOURCES = genca.cc logger.cc
diff --git a/src/mitm_stub.cc b/src/mitm_stub.cc
new file mode 100644
index 0000000..6f4dcb0
--- /dev/null
+++ b/src/mitm_stub.cc
@@ -0,0 +1,11 @@
+// -*- mode: c++; c-basic-offset: 2; -*-
+
+#include "common.hh"
+
+#include "mitm.hh"
+
+// static
+Mitm* Mitm::create(Logger* UNUSED(logger), Config* UNUSED(config),
+ std::string const& UNUSED(cwd)) {
+ return nullptr;
+}
diff --git a/src/ssl.cc b/src/ssl_mbedtls.cc
index 3395d83..3395d83 100644
--- a/src/ssl.cc
+++ b/src/ssl_mbedtls.cc