trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zw...@apache.org
Subject [trafficserver] 01/01: Merge remote-tracking branch 'origin/master' into quic-latest
Date Fri, 13 Jul 2018 01:39:22 GMT
This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch quic-latest
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 7b335ee0c8835ee170c172ba5cc0be1b9f2f853b
Merge: 747c741 46acdc8
Author: Leif Hedstrom <zwoop@apache.org>
AuthorDate: Thu Jul 12 19:38:34 2018 -0600

    Merge remote-tracking branch 'origin/master' into quic-latest
    
    * origin/master: (69 commits)
      Refresh upstream connection throttling. Reduce lock contention, add maximum count, rate
limit alerts.
      Runroot: add new option to specify layout during creating
      ASAN: stack-use-after-scope
      Add flag to enable the reload feature. Disable by default
      Add support for reloading the lua script in global plugin mode
      Fix bug on loading of lua script
      add a reason tag to traffic_control host subcommand.
      traffic_manager: Cleanup handling of proxy args.
      traffic_manager: fix --tsArgs to work.
      Plugin, makefile, readme.
      Fix RecConfigReadPluginDir and clean up RecCore
      Remove proxy.config.config_dir from records.config
      Handle response parsing case where EOF happens before any data arrives.
      Enforce sphinx>=1.7.5 when building docs
      IntrusiveDList: Refreshed for C++ eleventy, added const_iterator.
      Doc: Fix build error in Lua plugin documentation.
      Fix crashes from early post return fix.
      Avoid cert callback if no verification is requested.
      make sure the index stays positive
      Plugin, makefile, readme and schema
      ...

 .gitignore                                         |   5 +-
 .vscode/c_cpp_properties.json                      |   1 +
 CMakeLists.txt                                     |   1 +
 Makefile.am                                        |   2 +-
 build/crypto.m4                                    |  15 +
 build/yaml-cpp.m4                                  |  22 +-
 ci/jenkins/bin/clang-analyzer.sh                   |   6 +
 {proxy/config => configs}/Makefile.am              |   4 +-
 {proxy/config => configs}/body_factory/Makefile.am |   0
 .../body_factory/default/.body_factory_info        |   0
 .../body_factory/default/Makefile.am               |   0
 .../config => configs}/body_factory/default/README |   0
 .../body_factory/default/access#denied             |   0
 .../default/access#proxy_auth_required             |   0
 .../body_factory/default/access#redirect_url       |   0
 .../body_factory/default/access#ssl_forbidden      |   0
 .../body_factory/default/cache#not_in_cache        |   0
 .../body_factory/default/cache#read_error          |   0
 .../body_factory/default/connect#dns_failed        |   0
 .../body_factory/default/connect#failed_connect    |   0
 .../body_factory/default/connect#hangup            |   0
 .../body_factory/default/default                   |   0
 .../body_factory/default/interception#no_host      |   0
 .../default/redirect#moved_permanently             |   0
 .../default/redirect#moved_temporarily             |   0
 .../body_factory/default/request#cycle_detected    |   0
 .../default/request#invalid_content_length         |   0
 .../body_factory/default/request#no_content_length |   0
 .../body_factory/default/request#no_host           |   0
 .../default/request#scheme_unsupported             |   0
 .../body_factory/default/request#syntax_error      |   0
 .../body_factory/default/response#bad_response     |   0
 .../body_factory/default/response#bad_version      |   0
 .../body_factory/default/timeout#activity          |   0
 .../body_factory/default/timeout#inactivity        |   0
 .../body_factory/default/transcoding#unsupported   |   0
 .../body_factory/default/urlrouting#no_mapping     |   0
 {proxy/config => configs}/cache.config.default     |   0
 {proxy/config => configs}/hosting.config.default   |   0
 {proxy/config => configs}/ip_allow.config.default  |   0
 .../logging.yaml.default                           |   4 +-
 {proxy/config => configs}/parent.config.default    |   0
 {proxy/config => configs}/plugin.config.default    |   0
 .../config => configs}/records.config.default.in   |   2 +-
 {proxy/config => configs}/remap.config.default     |   0
 {proxy/config => configs}/socks.config.default     |   0
 {proxy/config => configs}/splitdns.config.default  |   0
 .../ssl_multicert.config.default                   |   0
 configs/ssl_server_name.yaml.default               |  28 +
 .../config => configs}/storage.config.default.in   |   0
 {proxy/config => configs}/volume.config.default    |   0
 configure.ac                                       |  33 +-
 contrib/python/compare_RecordsConfigcc.py          |   1 -
 doc/.tx/config                                     |   6 +-
 doc/admin-guide/files/index.en.rst                 |   8 +-
 .../{logging.config.en.rst => logging.yaml.en.rst} |  72 +-
 doc/admin-guide/files/records.config.en.rst        | 118 ++-
 ...e.config.en.rst => ssl_server_name.yaml.en.rst} |   6 +-
 doc/admin-guide/layer-4-routing.en.rst             |   4 +-
 doc/admin-guide/logging/destinations.en.rst        |   8 +-
 doc/admin-guide/logging/examples.en.rst            |  17 +-
 doc/admin-guide/logging/filters.en.rst             |   4 +-
 doc/admin-guide/logging/formatting.en.rst          |   9 +-
 doc/admin-guide/logging/rotation.en.rst            |   2 +-
 doc/admin-guide/logging/understanding.en.rst       |   4 +-
 .../statistics/core/http-connection.en.rst         |   2 +-
 doc/admin-guide/plugins/cachekey.en.rst            |  40 +
 doc/admin-guide/plugins/compress.en.rst            |   2 +-
 doc/admin-guide/plugins/esi.en.rst                 |   2 +-
 doc/admin-guide/plugins/header_rewrite.en.rst      |   2 +-
 doc/admin-guide/plugins/lua.en.rst                 |  23 +-
 doc/appendices/command-line/traffic_ctl.en.rst     |  12 +-
 doc/appendices/command-line/traffic_layout.en.rst  |  98 +--
 doc/checkvers.py                                   |  12 +-
 doc/checkvers.sh                                   |  40 +
 doc/conf.py                                        |  12 +-
 .../api/functions/TSHttpOverridableConfig.en.rst   |   4 +-
 .../api/types/TSOverridableConfigKey.en.rst        |   4 +-
 .../internal-libraries/buffer-writer.en.rst        |  92 ++-
 .../internal-libraries/index.en.rst                |   1 +
 .../internal-libraries/intrusive-list.en.rst       | 153 ++++
 doc/manpages.py                                    |   2 +-
 example/cppapi/async_http_fetch/AsyncHttpFetch.cc  |   4 +-
 .../AsyncHttpFetchStreaming.cc                     |   4 +-
 example/cppapi/async_timer/AsyncTimer.cc           |   4 +-
 example/cppapi/boom/boom.cc                        |   4 +-
 example/cppapi/clientredirect/ClientRedirect.cc    |   4 +-
 example/cppapi/clientrequest/ClientRequest.cc      |   4 +-
 example/cppapi/customresponse/CustomResponse.cc    |   4 +-
 .../DelayTransformationPlugin.cc                   |   4 +-
 example/cppapi/globalhook/GlobalHookPlugin.cc      |   4 +-
 .../GzipTransformationPlugin.cc                    |   4 +-
 example/cppapi/helloworld/HelloWorldPlugin.cc      |   4 +-
 example/cppapi/intercept/intercept.cc              |   4 +-
 .../InternalTransactionHandling.cc                 |   4 +-
 example/cppapi/logger_example/LoggerExample.cc     |   4 +-
 .../MultipleTransactionHookPlugins.cc              |   4 +-
 .../NullTransformationPlugin.cc                    |   4 +-
 example/cppapi/post_buffer/PostBuffer.cc           |   4 +-
 example/cppapi/serverresponse/ServerResponse.cc    |   4 +-
 example/cppapi/stat_example/StatExample.cc         |   4 +-
 .../cppapi/timeout_example/TimeoutExamplePlugin.cc |   4 +-
 .../transactionhook/TransactionHookPlugin.cc       |   4 +-
 example/cppapi/websocket/WebSocket.cc              |   4 +-
 example/protocol/Protocol.h                        |   5 +-
 example/protocol/TxnSM.h                           |   5 +-
 iocore/eventsystem/P_UnixEventProcessor.h          |   7 +-
 iocore/net/Makefile.am                             |  13 +-
 iocore/net/OCSPStapling.cc                         |  20 +-
 iocore/net/P_InkBulkIO.h                           |   5 +-
 iocore/net/P_LibBulkIO.h                           |   5 +-
 iocore/net/P_OCSPStapling.h                        |   9 +-
 iocore/net/P_SNIActionPerformer.h                  |  62 +-
 iocore/net/P_SSLNetProcessor.h                     |   6 +-
 iocore/net/SNIActionPerformer.cc                   |   8 +-
 iocore/net/SSLConfig.cc                            |   2 +-
 iocore/net/SSLNetProcessor.cc                      |   9 +-
 iocore/net/SSLNetVConnection.cc                    |  19 +-
 iocore/net/SSLSNIConfig.cc                         |  10 +-
 iocore/net/SSLUtils.cc                             |  42 +-
 iocore/net/UnixNetAccept.cc                        |   6 +-
 iocore/net/YamlSNIConfig.cc                        |  15 +-
 iocore/net/YamlSNIConfig.h                         |   2 +
 lib/Makefile.am                                    |   3 +-
 lib/cppapi/InterceptPlugin.cc                      |  12 +-
 lib/cppapi/Plugin.cc                               |   7 +-
 lib/cppapi/include/atscppapi/Plugin.h              |   6 +-
 lib/perl/lib/Apache/TS/AdminClient.pm              |   1 -
 lib/records/I_RecCore.h                            |  13 +-
 lib/records/RecConfigParse.cc                      |  17 +
 lib/records/RecCore.cc                             |  52 +-
 lib/ts/BufferWriter.h                              |   5 +-
 lib/ts/BufferWriterFormat.cc                       |   6 +
 lib/ts/IntrusiveDList.h                            | 801 ++++++++++++++-------
 lib/ts/IpMap.cc                                    |  99 +--
 lib/ts/IpMap.h                                     |   2 +-
 lib/ts/Layout.cc                                   |  30 +-
 lib/ts/Makefile.am                                 |   7 +-
 lib/ts/TextView.h                                  |  10 +
 lib/ts/apidefs.h.in                                |  16 +-
 lib/ts/bwf_std_format.h                            |  48 +-
 lib/ts/ink_config.h.in                             |   1 +
 lib/ts/runroot.cc                                  |  65 +-
 lib/ts/runroot.h                                   |  20 +
 lib/ts/unit-tests/test_IntrusiveDList.cc           | 274 +++++++
 lib/ts/unit-tests/test_IpMap.cc                    |  26 +-
 lib/yamlcpp/Makefile.am                            |  13 +-
 mgmt/Alarms.h                                      |   5 +-
 mgmt/BaseManager.h                                 |   5 +-
 mgmt/DerivativeMetrics.cc                          |   4 +-
 mgmt/LocalManager.cc                               |  60 +-
 mgmt/LocalManager.h                                |  11 +-
 mgmt/MgmtDefs.h                                    |  38 +-
 mgmt/ProcessManager.h                              |   5 +-
 mgmt/RecordsConfig.cc                              |  21 +-
 mgmt/api/CoreAPI.cc                                |  13 +-
 mgmt/api/CoreAPI.h                                 |   4 +-
 mgmt/api/CoreAPIRemote.cc                          |  12 +-
 mgmt/api/INKMgmtAPI.cc                             |   8 +-
 mgmt/api/NetworkMessage.cc                         |   4 +-
 mgmt/api/TSControlMain.cc                          |  13 +-
 mgmt/api/TSControlMain.h                           |   5 +-
 mgmt/api/include/mgmtapi.h                         |   4 +-
 mgmt/utils/MgmtUtils.h                             |   7 +-
 plugins/Makefile.am                                |   2 +
 plugins/cachekey/cachekey.cc                       | 131 +++-
 plugins/cachekey/cachekey.h                        |  20 +-
 plugins/cachekey/configs.cc                        |  13 +-
 plugins/cachekey/configs.h                         |   3 +-
 plugins/cachekey/plugin.cc                         | 153 ++--
 plugins/compress/debug_macros.h                    |   5 +-
 plugins/esi/fetcher/FetchedDataProcessor.h         |   6 +-
 plugins/esi/fetcher/HttpDataFetcher.h              |   5 +-
 plugins/esi/fetcher/HttpDataFetcherImpl.h          |   5 +-
 plugins/esi/lib/Attribute.h                        |   5 +-
 plugins/esi/lib/ComponentBase.h                    |   5 +-
 plugins/esi/lib/DocNode.h                          |   5 +-
 plugins/esi/lib/EsiGunzip.h                        |   6 +-
 plugins/esi/lib/EsiGzip.h                          |   5 +-
 plugins/esi/lib/EsiParser.h                        |   5 +-
 plugins/esi/lib/EsiProcessor.h                     |   5 +-
 plugins/esi/lib/Expression.h                       |   6 +-
 plugins/esi/lib/FailureInfo.h                      |  10 +-
 plugins/esi/lib/HandlerManager.h                   |   6 +-
 plugins/esi/lib/HttpHeader.h                       |   6 +-
 plugins/esi/lib/IncludeHandlerFactory.h            |   6 +-
 plugins/esi/lib/Stats.h                            |   6 +-
 plugins/esi/lib/StringHash.h                       |   6 +-
 plugins/esi/lib/Utils.h                            |   6 +-
 plugins/esi/lib/Variables.cc                       |   6 +
 plugins/esi/lib/Variables.h                        |   6 +-
 plugins/esi/lib/gzip.h                             |   6 +-
 plugins/esi/serverIntercept.h                      |   6 +-
 plugins/esi/test/HandlerMap.h                      |   6 +-
 plugins/esi/test/StubIncludeHandler.h              |   6 +-
 plugins/esi/test/TestHttpDataFetcher.h             |   5 +-
 plugins/esi/test/print_funcs.h                     |   5 +-
 plugins/esi/test/vars_test.cc                      |   2 +
 plugins/experimental/cache_range_requests/README   |  20 +
 .../cache_range_requests/cache_range_requests.cc   | 143 +++-
 .../experimental/certifier/Makefile.inc            |   7 +-
 plugins/experimental/certifier/README              |  32 +
 plugins/experimental/certifier/certifier.cc        | 695 ++++++++++++++++++
 plugins/experimental/inliner/cache-handler.h       |   6 +-
 plugins/experimental/inliner/cache.h               |   5 +-
 plugins/experimental/inliner/chunk-decoder.h       |   6 +-
 plugins/experimental/inliner/fetcher.h             |   6 +-
 plugins/experimental/inliner/gif.h                 |   6 +-
 plugins/experimental/inliner/html-parser.h         |   6 +-
 plugins/experimental/inliner/inliner-handler.h     |   6 +-
 plugins/experimental/inliner/jpeg.h                |   6 +-
 plugins/experimental/inliner/png.h                 |   6 +-
 plugins/experimental/inliner/ts.h                  |   6 +-
 plugins/experimental/inliner/util.h                |   6 +-
 plugins/experimental/inliner/vconnection.h         |   6 +-
 plugins/experimental/memcache/protocol_binary.h    |   4 +-
 plugins/experimental/money_trace/money_trace.h     |   5 +-
 plugins/experimental/mp4/mp4_common.h              |   5 +-
 plugins/experimental/mp4/mp4_meta.h                |   5 +-
 plugins/experimental/multiplexer/chunk-decoder.h   |   6 +-
 plugins/experimental/multiplexer/dispatch.h        |   6 +-
 plugins/experimental/multiplexer/fetcher.h         |   6 +-
 .../experimental/multiplexer/original-request.h    |   6 +-
 plugins/experimental/multiplexer/post.h            |   6 +-
 plugins/experimental/multiplexer/ts.h              |   6 +-
 .../server_push_preload/server_push_preload.cc     |   4 +-
 .../experimental/traffic_dump/Makefile.inc         |   7 +-
 plugins/experimental/traffic_dump/README           |  16 +
 plugins/experimental/traffic_dump/traffic_dump.cc  | 592 +++++++++++++++
 .../experimental/webp_transform/ImageTransform.cc  |   4 +-
 plugins/lua/Makefile.inc                           |   1 +
 plugins/lua/ts_lua.c                               |  35 +-
 plugins/lua/ts_lua_cached_response.h               |   5 +-
 plugins/lua/ts_lua_client_request.h                |   5 +-
 plugins/lua/ts_lua_client_response.h               |   5 +-
 plugins/lua/ts_lua_common.h                        |   7 +-
 plugins/lua/ts_lua_constant.h                      |   5 +-
 plugins/lua/ts_lua_context.h                       |   5 +-
 plugins/lua/ts_lua_coroutine.h                     |   6 +-
 plugins/lua/ts_lua_crypto.h                        |   5 +-
 plugins/lua/ts_lua_fetch.c                         |  15 +-
 plugins/lua/ts_lua_fetch.h                         |   5 +-
 plugins/lua/ts_lua_hook.h                          |   5 +-
 plugins/lua/ts_lua_http.c                          |  20 +
 plugins/lua/ts_lua_http.h                          |   5 +-
 plugins/lua/ts_lua_http_cntl.h                     |   5 +-
 plugins/lua/ts_lua_http_config.c                   |   8 +-
 plugins/lua/ts_lua_http_config.h                   |   5 +-
 plugins/lua/ts_lua_http_intercept.h                |   5 +-
 plugins/lua/ts_lua_http_milestone.h                |   5 +-
 plugins/lua/ts_lua_io.h                            |   5 +-
 plugins/lua/ts_lua_log.h                           |   5 +-
 plugins/lua/ts_lua_mgmt.h                          |   5 +-
 plugins/lua/ts_lua_misc.h                          |   5 +-
 plugins/lua/ts_lua_package.h                       |   5 +-
 plugins/lua/ts_lua_remap.h                         |   5 +-
 plugins/lua/ts_lua_server_request.h                |   5 +-
 plugins/lua/ts_lua_server_response.h               |   5 +-
 plugins/lua/ts_lua_stat.h                          |   5 +-
 plugins/lua/ts_lua_string.h                        |   5 +-
 plugins/lua/ts_lua_transform.h                     |   5 +-
 plugins/lua/ts_lua_util.c                          |  66 ++
 plugins/lua/ts_lua_util.h                          |   7 +-
 proxy/ControlMatcher.cc                            |   2 +-
 proxy/HostStatus.h                                 |  31 +-
 proxy/IPAllow.cc                                   |   6 +-
 proxy/Makefile.am                                  |   2 +-
 proxy/ParentSelection.cc                           |  44 +-
 proxy/config/ssl_server_name.config.default        |  36 -
 proxy/config/throttle_error.html.example           |  32 -
 proxy/hdrs/HTTP.cc                                 |  14 +-
 proxy/hdrs/HdrHeap.h                               |   1 +
 proxy/hdrs/HdrTSOnly.cc                            |  16 +-
 proxy/http/HttpConfig.cc                           |  34 +-
 proxy/http/HttpConfig.h                            |   9 +-
 proxy/http/HttpConnectionCount.cc                  | 424 ++++++++++-
 proxy/http/HttpConnectionCount.h                   | 558 +++++++++-----
 proxy/http/HttpDebugNames.cc                       |   2 +
 proxy/http/HttpProxyAPIEnums.h                     |  10 +
 proxy/http/HttpSM.cc                               | 145 ++--
 proxy/http/HttpServerSession.cc                    |  56 +-
 proxy/http/HttpServerSession.h                     |  58 +-
 proxy/http/HttpSessionManager.cc                   |   5 +-
 proxy/http/HttpTransact.cc                         |  17 +-
 proxy/http/HttpTransact.h                          |  15 +-
 proxy/http/HttpTransactCache.cc                    |   9 +-
 proxy/logging/Log.cc                               |   5 -
 proxy/logging/LogAccess.cc                         |   5 -
 proxy/logging/LogAccess.h                          |   1 -
 proxy/logging/LogAccessHttp.cc                     |  17 -
 proxy/logging/LogAccessHttp.h                      |   1 -
 proxy/logging/LogConfig.cc                         |  10 +-
 proxy/logging/LogFilter.cc                         |   4 +-
 proxy/logging/Makefile.am                          |   3 +-
 proxy/logging/YamlLogConfig.cc                     |  10 +-
 rc/trafficserver.in                                |   6 +-
 rc/trafficserver.service.in                        |   2 +-
 src/traffic_cache_tool/CacheDefs.h                 |  47 +-
 src/traffic_cache_tool/CacheScan.cc                |  33 +-
 src/traffic_cache_tool/CacheScan.h                 |  19 +-
 src/traffic_cache_tool/CacheTool.cc                |  22 +-
 src/traffic_ctl/Makefile.inc                       |   1 +
 src/traffic_ctl/host.cc                            |  49 +-
 src/traffic_layout/Makefile.inc                    |   6 +-
 src/traffic_layout/engine.cc                       | 133 ++--
 src/traffic_layout/engine.h                        |  17 +-
 src/traffic_layout/file_system.cc                  |  45 +-
 src/traffic_layout/file_system.h                   |   5 +-
 src/traffic_layout/info.cc                         |   1 +
 src/traffic_layout/traffic_layout.cc               |   2 -
 src/traffic_logcat/Makefile.inc                    |   8 +-
 src/traffic_logstats/Makefile.inc                  |   6 +-
 src/traffic_logstats/logstats.cc                   |  15 +-
 src/traffic_logstats/tests/logstats.blog           | Bin 14976 -> 9144 bytes
 src/traffic_logstats/tests/logstats.json           | 242 +++++--
 src/traffic_logstats/tests/logstats.summary        |  68 +-
 src/traffic_logstats/tests/test_urls.txt           |  10 +
 src/traffic_manager/AddConfigFilesHere.cc          |   2 +-
 src/traffic_manager/Makefile.inc                   |   5 +-
 src/traffic_manager/traffic_manager.cc             |  26 +-
 src/traffic_server/HostStatus.cc                   |  91 ++-
 src/traffic_server/InkAPI.cc                       | 399 +++++-----
 src/traffic_server/InkAPITest.cc                   | 265 +++----
 src/traffic_server/Makefile.inc                    |   6 +-
 src/traffic_server/traffic_server.cc               |  12 +-
 tests/README.md                                    |   2 +-
 .../gold_tests/autest-site/trafficserver.test.ext  |   4 +-
 tests/gold_tests/h2/httpbin.test.py                |   2 +-
 tests/gold_tests/logging/ccid_ctid.test.py         |   2 +-
 tests/gold_tests/logging/custom-log.test.py        |   2 +-
 tests/gold_tests/logging/log-field.test.py         |   2 +-
 tests/gold_tests/runroot/runroot_error.test.py     |   4 +-
 tests/gold_tests/runroot/runroot_init.test.py      |   9 +-
 tests/tools/lib/replay_schema.json                 | 209 ++++++
 334 files changed, 6316 insertions(+), 2429 deletions(-)

diff --cc build/crypto.m4
index ee0d998,cbb1b53..ed74b26
--- a/build/crypto.m4
+++ b/build/crypto.m4
@@@ -212,64 -212,17 +212,79 @@@ AC_DEFUN([TS_CHECK_CRYPTO_DH_GET_2048_2
    AC_SUBST(use_dh_get_2048_256)
  ])
  
 +AC_DEFUN([TS_CHECK_CRYPTO_HKDF], [
 +  enable_hkdf=no
 +  _hkdf_saved_LIBS=$LIBS
 +  TS_ADDTO(LIBS, [$OPENSSL_LIBS])
 +  AC_MSG_CHECKING([for EVP_PKEY_CTX_hkdf_mode])
 +  AC_LINK_IFELSE(
 +  [
 +    AC_LANG_PROGRAM([[
 +#include <openssl/kdf.h>
 +    ]],
 +    [[
 +#ifndef EVP_PKEY_CTX_hkdf_mode
 +# error no EVP_PKEY_CTX_hkdf_mode support
 +#endif
 +    ]])
 +  ],
 +  [
 +    AC_MSG_RESULT([yes])
 +    enable_hkdf=yes
 +  ],
 +  [
 +    AC_MSG_RESULT([no])
 +  ])
 +  AC_CHECK_FUNC(HKDF_extract, [
 +    enable_hkdf=yes
 +  ], [])
 +  LIBS=$_hkdf_saved_LIBS
 +  TS_ARG_ENABLE_VAR([use], [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)
 +])
++
+ AC_DEFUN([TS_CHECK_CRYPTO_OCSP], [
+   _ocsp_saved_LIBS=$LIBS
+ 
+   TS_ADDTO(LIBS, [$OPENSSL_LIBS])
+   AC_CHECK_HEADERS(openssl/ocsp.h)
+   AC_CHECK_FUNCS(OCSP_sendreq_new OCSP_REQ_CTX_add1_header OCSP_REQ_CTX_set1_req, [enable_tls_ocsp=yes],
[enable_tls_ocsp=no])
+ 
+   LIBS=$_ocsp_saved_LIBS
+ 
+   AC_MSG_CHECKING(whether OCSP is supported)
+   AC_MSG_RESULT([$enable_tls_ocsp])
+   TS_ARG_ENABLE_VAR([use], [tls-ocsp])
+   AC_SUBST(use_tls_ocsp)
+ ])
diff --cc configure.ac
index ef8a4dd,a53428d..7959a05
--- a/configure.ac
+++ b/configure.ac
@@@ -1184,22 -1186,9 +1186,25 @@@ TS_CHECK_CRYPTO_SET_RBI
  # Check for DH_get_2048_256
  TS_CHECK_CRYPTO_DH_GET_2048_256
  
 +# Check for HKDF support
 +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
 +AS_IF([test "x$enable_tls13" = "xyes"], [
 +  enable_quic=yes
 +])
 +TS_ARG_ENABLE_VAR([use], [quic])
 +AC_SUBST(use_quic)
 +AM_CONDITIONAL([ENABLE_QUIC], [test "x$enable_quic" = "xyes"])
 +
+ # Check for OCSP
+ TS_CHECK_CRYPTO_OCSP
+ 
  saved_LIBS="$LIBS"
  TS_ADDTO([LIBS], ["$OPENSSL_LIBS"])
  
diff --cc proxy/Makefile.am
index 0073483,c996669..a84334e
--- a/proxy/Makefile.am
+++ b/proxy/Makefile.am
@@@ -18,10 -18,7 +18,10 @@@
  
  include $(top_srcdir)/build/tidy.mk
  
- SUBDIRS = hdrs shared http http2 logging config
+ SUBDIRS = hdrs shared http http2 logging
 +if ENABLE_QUIC
 +SUBDIRS += hq
 +endif
  
  noinst_LIBRARIES = libproxy.a
  
diff --cc src/traffic_server/Makefile.inc
index a759d3e,4ae3687..c67b0d0
--- a/src/traffic_server/Makefile.inc
+++ b/src/traffic_server/Makefile.inc
@@@ -90,11 -93,5 +94,11 @@@ traffic_server_traffic_server_LDADD += 
  	@LIBLZMA@ \
  	@LIBPROFILER@ \
  	@OPENSSL_LIBS@ \
- 	@LIB_YAMLCPP@ \
+ 	@YAMLCPP_LIBS@ \
  	-lm
 +
 +if ENABLE_QUIC
 +traffic_server_traffic_server_LDADD += \
 +  $(top_builddir)/proxy/hq/libhq.a \
 +  $(top_builddir)/iocore/net/quic/libquic.a
 +endif


Mime
View raw message