You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2018/07/13 01:39:21 UTC
[trafficserver] branch quic-latest updated (747c741 -> 7b335ee)
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a change to branch quic-latest
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.
from 747c741 Check buffer length before reading packet length
add 672daf2 Make atscppapi::RegisterGlobalPlugin return a value.
add ab64369 fix argument order on TSMLocReleaseHandle calls
add f06862e Converts libyamlcpp to a 'convenience' library
add 4001105 Reworks yaml-cpp build flags
add 91df079 Relocates proxy/config to configs
add e1d2c1d Removes unused throttle_error.html.example
add 1029ce6 Renames yaml-based configuration files to .yaml
add f6cb212 Clone the url object into the new heap
add ce30c21 Add validation of fields in logfile for traffic_logstats
add 86106dc Fix and Update build ordering of lib
add 2d76d64 Fixes the cache_total_hits to be correct
add 3e57b43 Fix hostdb.ip_resolve's documentation for none/only option.
add d66e724 Runroot: Change some dir keywords to const
add dc7e2ba Update runroot to use yaml-cpp library
add c649ec7 Create lock file after changing to admin user for traffic_server
add abcf7ca fix crash on shutdown
add 9dc1ba8 Updates the default ssl_server_name.config to YAML
add 70afc6c Fix spelling and syntax errors in comment.
add b0969c9 Remove pqsn
add 52f667d Sending stdout and stderr to traffic.out and got rid of traffic_server.stdout and traffic_server.stderr
add 9aaee09 Search cache for urls matching the regex input
add b61b82c SNI based IP_ALLOW
add 3074778 fix coredump for ts.fetch
add 58beea4 Runroot: add an option to specify copy style
add 0225210 TextView: Add constexpr literal constructor for std::string_view.
add b28833b BufferWriter: Some minor cleanups. Clean up use of std::literal, add bwf::Errno default constructor, move Date format to explicit default.
add 59d1c36 BufferWriter: Add OptionalAffix support for optionally printing strings. Update the documenation.
add 8e97714 Recognize openssl engines for key loading.
add d13931a Doc: Fix build errors in logging. These are artifacts of the YAML update and the shn changes.
add 03d78cd Doc: fix build eror in traffic_layout documentation.
add fd9706e Fix configuration problem for host-targeted user response pages
add be5d692 Converts remaining source files to #pragma once
add d517394 Cleans up logging around OCSP
add 4d83742 Fixes detection of OpenSSL's OCSP APIs
add 1c089f2 Fixes OCSP warnings when cert has no OCSP URI attached to it
add 587ca64 Changed destroy logic
add 2f4a5b7 Restrict access to request headers for ESI variables
add 5a29260 cppapi: InterceptPlugin fix
add 4813721 Clarifies alternate # selected in log output
add 148d989 Add feature to use modified cache-key-url for parent selection.
add 093778c Remove INKContInternal warning.
add a3874e8 Removed assignment of unused variable
add f7e3cf7 cachekey: running as global plugin
add f4f2b04 add function for TSHttpTxnAborted
add fdab3cd Removes no-op macros ACQUIRE_PRINT_LOCK and RELEASE_PRINT_LOCK
add 43d495e Removes duplicated validity check
add c98bc04 Link with libluajit for the lua plugin
add 86ae514 Logs parse error if ssl_server_name.yaml fails to load
add d59fafc Warns on empty ssl_server_name.yaml configuration file
add 345ca04 Plugin, makefile, readme and schema
add 2d3e9d7 make sure the index stays positive
add 6d27764 Avoid cert callback if no verification is requested.
add c243788 Fix crashes from early post return fix.
add 06d7076 Doc: Fix build error in Lua plugin documentation.
add 1893dbb IntrusiveDList: Refreshed for C++ eleventy, added const_iterator.
add 5646efc Enforce sphinx>=1.7.5 when building docs
add 712a5e6 Handle response parsing case where EOF happens before any data arrives.
add 9a6b5d6 Remove proxy.config.config_dir from records.config
add dfb9e8a Fix RecConfigReadPluginDir and clean up RecCore
add 7190c1c Plugin, makefile, readme.
add c14fac1 traffic_manager: fix --tsArgs to work.
add e10da22 traffic_manager: Cleanup handling of proxy args.
add b3dbff1 add a reason tag to traffic_control host subcommand.
add 3c0c413 Fix bug on loading of lua script
add e614775 Add support for reloading the lua script in global plugin mode
add 3192bce Add flag to enable the reload feature. Disable by default
add 7e5e6ed ASAN: stack-use-after-scope
add 5ca1665 Runroot: add new option to specify layout during creating
add 46acdc8 Refresh upstream connection throttling. Reduce lock contention, add maximum count, rate limit alerts.
new 7b335ee Merge remote-tracking branch 'origin/master' into quic-latest
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.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 +-
tools/reports/commits_since.sh => 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 +++-
.../certifier}/Makefile.inc | 5 +-
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 +-
.../traffic_dump}/Makefile.inc | 5 +-
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, 6295 insertions(+), 2446 deletions(-)
rename {proxy/config => configs}/Makefile.am (96%)
rename {proxy/config => configs}/body_factory/Makefile.am (100%)
rename {proxy/config => configs}/body_factory/default/.body_factory_info (100%)
rename {proxy/config => configs}/body_factory/default/Makefile.am (100%)
rename {proxy/config => configs}/body_factory/default/README (100%)
rename {proxy/config => configs}/body_factory/default/access#denied (100%)
rename {proxy/config => configs}/body_factory/default/access#proxy_auth_required (100%)
rename {proxy/config => configs}/body_factory/default/access#redirect_url (100%)
rename {proxy/config => configs}/body_factory/default/access#ssl_forbidden (100%)
rename {proxy/config => configs}/body_factory/default/cache#not_in_cache (100%)
rename {proxy/config => configs}/body_factory/default/cache#read_error (100%)
rename {proxy/config => configs}/body_factory/default/connect#dns_failed (100%)
rename {proxy/config => configs}/body_factory/default/connect#failed_connect (100%)
rename {proxy/config => configs}/body_factory/default/connect#hangup (100%)
rename {proxy/config => configs}/body_factory/default/default (100%)
rename {proxy/config => configs}/body_factory/default/interception#no_host (100%)
rename {proxy/config => configs}/body_factory/default/redirect#moved_permanently (100%)
rename {proxy/config => configs}/body_factory/default/redirect#moved_temporarily (100%)
rename {proxy/config => configs}/body_factory/default/request#cycle_detected (100%)
rename {proxy/config => configs}/body_factory/default/request#invalid_content_length (100%)
rename {proxy/config => configs}/body_factory/default/request#no_content_length (100%)
rename {proxy/config => configs}/body_factory/default/request#no_host (100%)
rename {proxy/config => configs}/body_factory/default/request#scheme_unsupported (100%)
rename {proxy/config => configs}/body_factory/default/request#syntax_error (100%)
rename {proxy/config => configs}/body_factory/default/response#bad_response (100%)
rename {proxy/config => configs}/body_factory/default/response#bad_version (100%)
rename {proxy/config => configs}/body_factory/default/timeout#activity (100%)
rename {proxy/config => configs}/body_factory/default/timeout#inactivity (100%)
rename {proxy/config => configs}/body_factory/default/transcoding#unsupported (100%)
rename {proxy/config => configs}/body_factory/default/urlrouting#no_mapping (100%)
rename {proxy/config => configs}/cache.config.default (100%)
rename {proxy/config => configs}/hosting.config.default (100%)
rename {proxy/config => configs}/ip_allow.config.default (100%)
rename proxy/config/logging.config.default => configs/logging.yaml.default (97%)
rename {proxy/config => configs}/parent.config.default (100%)
rename {proxy/config => configs}/plugin.config.default (100%)
rename {proxy/config => configs}/records.config.default.in (99%)
rename {proxy/config => configs}/remap.config.default (100%)
rename {proxy/config => configs}/socks.config.default (100%)
rename {proxy/config => configs}/splitdns.config.default (100%)
rename {proxy/config => configs}/ssl_multicert.config.default (100%)
create mode 100644 configs/ssl_server_name.yaml.default
rename {proxy/config => configs}/storage.config.default.in (100%)
rename {proxy/config => configs}/volume.config.default (100%)
rename doc/admin-guide/files/{logging.config.en.rst => logging.yaml.en.rst} (84%)
rename doc/admin-guide/files/{ssl_server_name.config.en.rst => ssl_server_name.yaml.en.rst} (97%)
copy tools/reports/commits_since.sh => doc/checkvers.sh (55%)
create mode 100644 doc/developer-guide/internal-libraries/intrusive-list.en.rst
create mode 100644 lib/ts/unit-tests/test_IntrusiveDList.cc
copy plugins/{escalate => experimental/certifier}/Makefile.inc (85%)
create mode 100644 plugins/experimental/certifier/README
create mode 100644 plugins/experimental/certifier/certifier.cc
copy plugins/{escalate => experimental/traffic_dump}/Makefile.inc (83%)
create mode 100644 plugins/experimental/traffic_dump/README
create mode 100644 plugins/experimental/traffic_dump/traffic_dump.cc
delete mode 100644 proxy/config/ssl_server_name.config.default
delete mode 100644 proxy/config/throttle_error.html.example
create mode 100644 src/traffic_logstats/tests/test_urls.txt
create mode 100644 tests/tools/lib/replay_schema.json
[trafficserver] 01/01: Merge remote-tracking branch 'origin/master'
into quic-latest
Posted by zw...@apache.org.
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 <zw...@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