Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ src/traffic_layout/traffic_layout
src/traffic_logcat/traffic_logcat
src/traffic_logstats/traffic_logstats
src/traffic_manager/traffic_manager
src/traffic_quic/traffic_quic
src/traffic_server/traffic_server
src/traffic_top/traffic_top
src/traffic_via/traffic_via
Expand Down Expand Up @@ -92,13 +93,37 @@ lib/perl/lib/Apache/TS.pm

iocore/net/test_certlookup
iocore/net/test_UDPNet
iocore/net/quic/test_QUICAckFrameCreator
iocore/net/quic/test_QUICAddrVerifyState
iocore/net/quic/test_QUICAltConnectionManager
iocore/net/quic/test_QUICFlowController
iocore/net/quic/test_QUICFrame
iocore/net/quic/test_QUICFrameDispatcher
iocore/net/quic/test_QUICFrameRetransmitter
iocore/net/quic/test_QUICHandshake
iocore/net/quic/test_QUICHandshakeProtocol
iocore/net/quic/test_QUICIncomingFrameBuffer
iocore/net/quic/test_QUICInvariants
iocore/net/quic/test_QUICKeyGenerator
iocore/net/quic/test_QUICLossDetector
iocore/net/quic/test_QUICPacket
iocore/net/quic/test_QUICPacketHeaderProtector
iocore/net/quic/test_QUICPacketFactory
iocore/net/quic/test_QUICStream
iocore/net/quic/test_QUICStreamManager
iocore/net/quic/test_QUICStreamState
iocore/net/quic/test_QUICTransportParameters
iocore/net/quic/test_QUICType
iocore/net/quic/test_QUICTypeUtil
iocore/net/quic/test_QUICVersionNegotiator
iocore/aio/test_AIO
iocore/eventsystem/test_Buffer
iocore/eventsystem/test_Event
iocore/eventsystem/test_MIOBufferWriter
iocore/hostdb/test_RefCountCache

proxy/hdrs/test_mime
proxy/hdrs/test_Huffmancode
proxy/hdrs/test_proxy_hdrs
proxy/hdrs/test_hdr_heap
proxy/hdrs/test_Huffmancode
Expand All @@ -107,6 +132,8 @@ proxy/http/test_proxy_http
proxy/http2/test_Http2DependencyTree
proxy/http2/test_HPACK
proxy/http2/hpack-tests/results
proxy/http3/test_libhttp3
proxy/http3/test_qpack
proxy/logging/test_LogUtils
proxy/logging/test_LogUtils2

Expand Down
2 changes: 2 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ plugins to build large scale web applications.
|-- eventsystem/ ...... Event Driven Engine
|-- hostdb/ ........... Internal DNS cache
|-- net/ .............. Network
|-- quic/ ......... QUIC implementation
|-- utils/ ............ Utilities
|-- lib/ ..................
|-- perl/ ............. Perl libraries for e.g. mgmt access and configurations
Expand All @@ -38,6 +39,7 @@ plugins to build large scale web applications.
|-- hdrs/ ............. Headers parsing and management
|-- http/ ............. The actual HTTP protocol implementation
|---http2/ ............ HTTP/2 implementation
|---http3/ ............ HTTP/3 implementation
|-- logging/ .......... Flexible logging
|-- shared/ ........... Shared files
|-- rc/ ................... Installation programs and scripts
Expand Down
31 changes: 31 additions & 0 deletions build/crypto.m4
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,37 @@ AC_DEFUN([TS_CHECK_CRYPTO_HKDF], [
AC_SUBST(use_hkdf)
])

AC_DEFUN([TS_CHECK_CRYPTO_TLS13], [
enable_tls13=yes
_tls13_saved_LIBS=$LIBS
TS_ADDTO(LIBS, [$OPENSSL_LIBS])
AC_MSG_CHECKING([whether TLS 1.3 is supported])
AC_LINK_IFELSE(
[
AC_LANG_PROGRAM([[
#include <openssl/ssl.h>
]],
[[
#ifndef TLS1_3_VERSION
# error no TLS1_3 support
#endif
#ifdef OPENSSL_NO_TLS1_3
# error no TLS1_3 support
#endif
]])
],
[
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no])
enable_tls13=no
])
LIBS=$_tls13_saved_LIBS
TS_ARG_ENABLE_VAR([use], [tls13])
AC_SUBST(use_tls13)
])

dnl
dnl Since OpenSSL 1.1.0
dnl
Expand Down
26 changes: 26 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1177,6 +1177,29 @@ TS_CHECK_CRYPTO_DH_GET_2048_256
TS_CHECK_CRYPTO_HKDF
AM_CONDITIONAL([HAS_HKDF], [test "x$enable_hkdf" = "xyes"])

# Check for TLS 1.3 support
TS_CHECK_CRYPTO_TLS13

# Check for QUIC support
enable_quic=no
AC_MSG_CHECKING([whether APIs for QUIC are available])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
[[
#ifdef OPENSSL_IS_BORINGSSL
SSL_QUIC_METHOD var;
#else
#ifndef SSL_MODE_QUIC_HACK
# error no hack for quic
#endif
#endif
]])
],
[AC_MSG_RESULT([yes]); enable_quic=yes],
[AC_MSG_RESULT([no])])
AM_CONDITIONAL([ENABLE_QUIC], [test "x$enable_quic" = "xyes"])
TS_ARG_ENABLE_VAR([use], [quic])
AC_SUBST(use_quic)

# Check for OCSP
TS_CHECK_CRYPTO_OCSP

Expand Down Expand Up @@ -2006,6 +2029,7 @@ AC_SUBST([default_stack_size], [$with_default_stack_size])
iocore_include_dirs="\
-I\$(abs_top_srcdir)/iocore/eventsystem \
-I\$(abs_top_srcdir)/iocore/net \
-I\$(abs_top_srcdir)/iocore/net/quic \
-I\$(abs_top_srcdir)/iocore/aio \
-I\$(abs_top_srcdir)/iocore/hostdb \
-I\$(abs_top_srcdir)/iocore/cache \
Expand Down Expand Up @@ -2058,6 +2082,7 @@ AC_CONFIG_FILES([
iocore/eventsystem/Makefile
iocore/hostdb/Makefile
iocore/net/Makefile
iocore/net/quic/Makefile
iocore/utils/Makefile
lib/Makefile
src/tscpp/api/Makefile
Expand All @@ -2078,6 +2103,7 @@ AC_CONFIG_FILES([
proxy/http/Makefile
proxy/http/remap/Makefile
proxy/http2/Makefile
proxy/http3/Makefile
proxy/logging/Makefile
proxy/shared/Makefile
rc/Makefile
Expand Down
Loading