You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ma...@apache.org on 2019/06/25 07:31:47 UTC
[trafficserver] branch quic-20 updated (867b0f6 -> 05bd80b)
This is an automated email from the ASF dual-hosted git repository.
maskit pushed a change to branch quic-20
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.
from 867b0f6 Merge branch 'master' into quic-20
add 130dcd0 Auto port selection for more autests
add 59b02ba Add metrics to track SSLv3 and TLS versions
add cac7766 Use SSL_version() directly instead of SSL_get_version() which returns a string (Thanks @maskit for the pointer).
add 42b7694 Fix build error for pre openssl-1.1.1
add 0c947f1 update example directory structure and add examples for lua plugin
add 5a8beee emergency shutdown
add cee653e Doc: Improve TSHttpTxnUrlEffectiveStringGet docs, cleanup other doc build errors.
add f95d7be Program to test if multiple URLs can be cached and generates a report on the cache headers.
add cba8b22 Allows for resizing librecords via command line option
add 9d859ea Update MT_Hashtable interface to use smart pointer
add 05bd80b Merge branch 'master' into quic-20
No new revisions were added by this update.
Summary of changes:
configure.ac | 3 +
doc/admin-guide/plugins/lua.en.rst | 2 +-
doc/appendices/command-line/traffic_manager.en.rst | 1 +
doc/appendices/command-line/traffic_server.en.rst | 2 +
.../api/functions/TSClientProtocolStack.en.rst | 4 +-
doc/developer-guide/api/functions/TSDebug.en.rst | 17 +-
.../api/functions/TSHttpArgs.en.rst | 2 +-
.../api/functions/TSSslClientCertUpdate.en.rst | 11 +-
.../api/functions/TSSslClientContext.en.rst | 4 +-
.../api/functions/TSSslServerCertUpdate.en.rst | 10 +-
.../api/functions/TSUrlStringGet.en.rst | 44 ++--
.../api/functions/TSVConnFdCreate.en.rst | 4 +-
.../plugins/adding-statistics.en.rst | 2 +-
.../example-plugins/blacklist/source-code.en.rst | 2 +-
.../query_remap/example-query-remap.en.rst | 6 +-
...plugin-registration-and-version-checking.en.rst | 2 +-
.../plugins/http-transformations/index.en.rst | 2 +-
.../api/functions/TSVConnFdCreate.en.po | 2 +-
.../plugins/http-transformations/index.en.po | 2 +-
example/Makefile.am | 179 +--------------
{include => example/plugins}/Makefile.am | 4 +-
example/plugins/c-api/Makefile.am | 114 ++++++++++
.../{ => plugins/c-api}/add_header/add_header.c | 0
example/{ => plugins/c-api}/add_header/readme.txt | 0
.../c-api}/append_transform/append_transform.c | 0
.../c-api}/append_transform/readme.txt | 0
.../{ => plugins/c-api}/basic_auth/basic_auth.c | 0
example/{ => plugins/c-api}/basic_auth/readme.txt | 0
.../{ => plugins/c-api}/blacklist_0/blacklist_0.c | 0
.../{ => plugins/c-api}/blacklist_1/blacklist.txt | 0
.../{ => plugins/c-api}/blacklist_1/blacklist_1.c | 0
example/{ => plugins/c-api}/blacklist_1/readme.txt | 0
.../c-api}/bnull_transform/bnull_transform.c | 0
.../{ => plugins/c-api}/cache_scan/cache_scan.cc | 0
.../{ => plugins/c-api}/cert_update/cert_update.cc | 0
.../client_context_dump/client_context_dump.cc | 0
.../c-api}/disable_http2/disable_http2.cc | 0
.../{ => plugins/c-api}/disable_http2/readme.txt | 0
example/{ => plugins/c-api}/file_1/file_1.c | 0
example/{ => plugins/c-api}/file_1/readme.txt | 0
example/{ => plugins/c-api}/hello/hello.c | 0
example/{ => plugins/c-api}/intercept/intercept.cc | 0
.../c-api}/lifecycle_plugin/lifecycle_plugin.c | 0
.../c-api}/lifecycle_plugin/readme.txt | 0
.../c-api}/null_transform/null_transform.c | 0
.../{ => plugins/c-api}/null_transform/readme.txt | 0
.../c-api}/output_header/output_header.c | 0
example/{ => plugins/c-api}/output_header/readme | 0
example/{ => plugins/c-api}/passthru/passthru.cc | 0
example/{ => plugins/c-api}/protocol/Protocol.c | 0
example/{ => plugins/c-api}/protocol/Protocol.h | 0
example/{ => plugins/c-api}/protocol/README.txt | 0
example/{ => plugins/c-api}/protocol/TxnSM.c | 0
example/{ => plugins/c-api}/protocol/TxnSM.h | 0
.../c-api}/protocol/test/ProtocolClientTest.java | 0
.../c-api}/protocol/test/ProtocolServerTest.java | 0
.../{ => plugins/c-api}/protocol/test/file_gen.sh | 0
.../c-api}/protocol_stack/protocol_stack.cc | 0
.../{ => plugins/c-api}/query_remap/query_remap.c | 0
example/{ => plugins/c-api}/redirect_1/readme.txt | 0
.../{ => plugins/c-api}/redirect_1/redirect_1.c | 0
example/{ => plugins/c-api}/remap/build.txt | 0
example/{ => plugins/c-api}/remap/remap.cc | 0
.../{ => plugins/c-api}/remap_header_add/build.txt | 0
.../c-api}/remap_header_add/remap_header_add.cc | 0
.../c-api}/replace_header/replace_header.c | 0
.../c-api}/request_buffer/request_buffer.c | 0
.../c-api}/response_header_1/response_header_1.c | 0
example/{ => plugins/c-api}/secure_link/readme.txt | 0
.../{ => plugins/c-api}/secure_link/secure_link.c | 0
.../{ => plugins/c-api}/server_push/server_push.c | 0
.../c-api}/server_transform/server_transform.c | 0
.../c-api}/session_hooks/session_hooks.c | 0
.../c-api}/ssl_preaccept/ssl_preaccept.cc | 0
example/{ => plugins/c-api}/ssl_sni/ssl_sni.cc | 0
.../c-api}/ssl_sni_whitelist/ssl_sni_whitelist.cc | 0
example/{ => plugins/c-api}/statistic/statistic.cc | 0
example/{ => plugins/c-api}/thread_1/readme.txt | 0
example/{ => plugins/c-api}/thread_1/thread_1.c | 0
example/{ => plugins/c-api}/thread_pool/README.txt | 0
.../{ => plugins/c-api}/thread_pool/TESTPLAN.txt | 0
.../c-api}/thread_pool/include/Makefile.am | 0
.../{ => plugins/c-api}/thread_pool/include/gen.c | 0
.../c-api}/thread_pool/include/gen_inc.sh | 0
example/{ => plugins/c-api}/thread_pool/psi.c | 0
.../thread_pool/test/SDKTest/SDKtest_server.config | 0
.../c-api}/thread_pool/test/SDKTest/psi_server.c | 0
.../thread_pool/test/SynTest/Tests/Psi/1.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/10.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/11.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/12.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/13.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/2.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/3.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/4.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/5.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/6.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/7.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/8.cfg | 0
.../thread_pool/test/SynTest/Tests/Psi/9.cfg | 0
.../test/SynTest/Tests/Psi/psi_files/tc10_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc11_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc12_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc13_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc1_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc2_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc3_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc4_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc5_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc6_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc7_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc8_file.txt | 0
.../test/SynTest/Tests/Psi/psi_files/tc9_file.txt | 0
.../c-api}/thread_pool/test/SynTest/system.cfg | 0
.../c-api}/thread_pool/test/SynTest/tests_psi.cfg | 0
example/{ => plugins/c-api}/thread_pool/thread.c | 0
example/{ => plugins/c-api}/thread_pool/thread.h | 0
.../c-api}/txn_data_sink/txn_data_sink.c | 0
.../{ => plugins/c-api}/vconn_args/vconn_args.cc | 0
.../{ => plugins/c-api}/verify_cert/verify_cert.cc | 0
example/{ => plugins/c-api}/version/version.c | 0
example/plugins/cpp-api/Makefile.am | 109 ++++++++++
.../cpp-api}/async_http_fetch/AsyncHttpFetch.cc | 0
.../AsyncHttpFetchStreaming.cc | 0
.../cpp-api}/async_timer/AsyncTimer.cc | 0
.../{cppapi => plugins/cpp-api}/boom/README.txt | 0
example/{cppapi => plugins/cpp-api}/boom/boom.cc | 0
.../cpp-api}/clientredirect/ClientRedirect.cc | 0
.../cpp-api}/clientrequest/ClientRequest.cc | 0
.../CustomErrorRemapPlugin.cc | 0
.../cpp-api}/customresponse/CustomResponse.cc | 0
.../DelayTransformationPlugin.cc | 0
.../cpp-api}/globalhook/GlobalHookPlugin.cc | 0
.../GzipTransformationPlugin.cc | 0
.../cpp-api}/helloworld/HelloWorldPlugin.cc | 0
.../cpp-api}/intercept/intercept.cc | 0
.../InternalTransactionHandling.cc | 0
.../cpp-api}/logger_example/LoggerExample.cc | 0
.../MultipleTransactionHookPlugins.cc | 0
.../NullTransformationPlugin.cc | 0
.../cpp-api}/post_buffer/PostBuffer.cc | 0
.../cpp-api}/remap_plugin/RemapPlugin.cc | 0
.../cpp-api}/serverresponse/ServerResponse.cc | 0
.../cpp-api}/stat_example/StatExample.cc | 0
.../timeout_example/TimeoutExamplePlugin.cc | 0
.../transactionhook/TransactionHookPlugin.cc | 0
.../cpp-api}/websocket/README.txt | 0
.../cpp-api}/websocket/WSBuffer.cc | 0
.../cpp-api}/websocket/WSBuffer.h | 0
.../cpp-api}/websocket/WebSocket.cc | 0
.../cpp-api}/websocket/WebSocket.h | 0
example/plugins/lua-api/connect_geoip.lua | 36 ++++
example/plugins/lua-api/connect_redis.lua | 49 +++++
example/plugins/lua-api/sorted_query_params.lua | 53 +++++
example/plugins/lua-api/uncompress.lua | 52 +++++
include/ts/ts.h | 3 +
include/tscore/ink_config.h.in | 2 -
iocore/net/P_SSLNetVConnection.h | 1 +
iocore/net/SSLNetVConnection.cc | 30 ++-
iocore/net/SSLStats.cc | 12 ++
iocore/net/SSLStats.h | 7 +
lib/records/P_RecDefs.h | 9 +-
lib/records/RecCore.cc | 7 +-
lib/records/RecUtils.cc | 5 +-
mgmt/RecordsConfig.h | 3 +
mgmt/api/CoreAPI.cc | 10 +-
plugins/experimental/remap_stats/remap_stats.c | 5 +-
src/traffic_layout/info.cc | 1 -
src/traffic_manager/traffic_manager.cc | 5 +-
src/traffic_server/InkAPI.cc | 30 ++-
src/traffic_server/traffic_server.cc | 3 +-
.../chunked_encoding/chunked_encoding.test.py | 4 +-
tests/gold_tests/h2/h2disable.test.py | 5 +-
tests/gold_tests/h2/http2.test.py | 5 +-
tests/gold_tests/h2/http2_priority.test.py | 6 +-
tests/gold_tests/h2/httpbin.test.py | 6 +-
.../pluginTest/test_hooks/test_hooks.test.py | 4 +-
tests/gold_tests/pluginTest/tsapi/tsapi.test.py | 6 +-
.../gold_tests/pluginTest/url_sig/url_sig.test.py | 5 +-
.../emergency.test.py} | 39 +---
.../schedule.test.py => shutdown/fatal.test.py} | 39 +---
tests/gold_tests/tls/tls_ocsp.test.py | 7 +-
.../gold_tests/tls/tls_verify_not_pristine.test.py | 5 +-
tests/tools/plugins/emergency_shutdown.cc | 66 ++++++
tests/tools/plugins/fatal_shutdown.cc | 66 ++++++
tools/traffic_cacheable.pl | 240 +++++++++++++++++++++
186 files changed, 1013 insertions(+), 341 deletions(-)
copy {include => example/plugins}/Makefile.am (93%)
create mode 100644 example/plugins/c-api/Makefile.am
rename example/{ => plugins/c-api}/add_header/add_header.c (100%)
rename example/{ => plugins/c-api}/add_header/readme.txt (100%)
rename example/{ => plugins/c-api}/append_transform/append_transform.c (100%)
rename example/{ => plugins/c-api}/append_transform/readme.txt (100%)
rename example/{ => plugins/c-api}/basic_auth/basic_auth.c (100%)
rename example/{ => plugins/c-api}/basic_auth/readme.txt (100%)
rename example/{ => plugins/c-api}/blacklist_0/blacklist_0.c (100%)
rename example/{ => plugins/c-api}/blacklist_1/blacklist.txt (100%)
rename example/{ => plugins/c-api}/blacklist_1/blacklist_1.c (100%)
rename example/{ => plugins/c-api}/blacklist_1/readme.txt (100%)
rename example/{ => plugins/c-api}/bnull_transform/bnull_transform.c (100%)
rename example/{ => plugins/c-api}/cache_scan/cache_scan.cc (100%)
copy example/{ => plugins/c-api}/cert_update/cert_update.cc (100%)
copy example/{ => plugins/c-api}/client_context_dump/client_context_dump.cc (100%)
rename example/{ => plugins/c-api}/disable_http2/disable_http2.cc (100%)
rename example/{ => plugins/c-api}/disable_http2/readme.txt (100%)
rename example/{ => plugins/c-api}/file_1/file_1.c (100%)
rename example/{ => plugins/c-api}/file_1/readme.txt (100%)
rename example/{ => plugins/c-api}/hello/hello.c (100%)
rename example/{ => plugins/c-api}/intercept/intercept.cc (100%)
rename example/{ => plugins/c-api}/lifecycle_plugin/lifecycle_plugin.c (100%)
rename example/{ => plugins/c-api}/lifecycle_plugin/readme.txt (100%)
rename example/{ => plugins/c-api}/null_transform/null_transform.c (100%)
rename example/{ => plugins/c-api}/null_transform/readme.txt (100%)
rename example/{ => plugins/c-api}/output_header/output_header.c (100%)
rename example/{ => plugins/c-api}/output_header/readme (100%)
rename example/{ => plugins/c-api}/passthru/passthru.cc (100%)
rename example/{ => plugins/c-api}/protocol/Protocol.c (100%)
rename example/{ => plugins/c-api}/protocol/Protocol.h (100%)
rename example/{ => plugins/c-api}/protocol/README.txt (100%)
rename example/{ => plugins/c-api}/protocol/TxnSM.c (100%)
rename example/{ => plugins/c-api}/protocol/TxnSM.h (100%)
rename example/{ => plugins/c-api}/protocol/test/ProtocolClientTest.java (100%)
rename example/{ => plugins/c-api}/protocol/test/ProtocolServerTest.java (100%)
rename example/{ => plugins/c-api}/protocol/test/file_gen.sh (100%)
rename example/{ => plugins/c-api}/protocol_stack/protocol_stack.cc (100%)
rename example/{ => plugins/c-api}/query_remap/query_remap.c (100%)
rename example/{ => plugins/c-api}/redirect_1/readme.txt (100%)
rename example/{ => plugins/c-api}/redirect_1/redirect_1.c (100%)
rename example/{ => plugins/c-api}/remap/build.txt (100%)
rename example/{ => plugins/c-api}/remap/remap.cc (100%)
rename example/{ => plugins/c-api}/remap_header_add/build.txt (100%)
rename example/{ => plugins/c-api}/remap_header_add/remap_header_add.cc (100%)
rename example/{ => plugins/c-api}/replace_header/replace_header.c (100%)
rename example/{ => plugins/c-api}/request_buffer/request_buffer.c (100%)
rename example/{ => plugins/c-api}/response_header_1/response_header_1.c (100%)
rename example/{ => plugins/c-api}/secure_link/readme.txt (100%)
rename example/{ => plugins/c-api}/secure_link/secure_link.c (100%)
rename example/{ => plugins/c-api}/server_push/server_push.c (100%)
rename example/{ => plugins/c-api}/server_transform/server_transform.c (100%)
rename example/{ => plugins/c-api}/session_hooks/session_hooks.c (100%)
rename example/{ => plugins/c-api}/ssl_preaccept/ssl_preaccept.cc (100%)
rename example/{ => plugins/c-api}/ssl_sni/ssl_sni.cc (100%)
rename example/{ => plugins/c-api}/ssl_sni_whitelist/ssl_sni_whitelist.cc (100%)
rename example/{ => plugins/c-api}/statistic/statistic.cc (100%)
rename example/{ => plugins/c-api}/thread_1/readme.txt (100%)
rename example/{ => plugins/c-api}/thread_1/thread_1.c (100%)
rename example/{ => plugins/c-api}/thread_pool/README.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/TESTPLAN.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/include/Makefile.am (100%)
rename example/{ => plugins/c-api}/thread_pool/include/gen.c (100%)
rename example/{ => plugins/c-api}/thread_pool/include/gen_inc.sh (100%)
rename example/{ => plugins/c-api}/thread_pool/psi.c (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SDKTest/SDKtest_server.config (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SDKTest/psi_server.c (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/1.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/10.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/11.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/12.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/13.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/2.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/3.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/4.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/5.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/6.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/7.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/8.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/9.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc10_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc11_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc12_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc13_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc1_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc2_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc3_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc4_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc5_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc6_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc7_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc8_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/Tests/Psi/psi_files/tc9_file.txt (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/system.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/test/SynTest/tests_psi.cfg (100%)
rename example/{ => plugins/c-api}/thread_pool/thread.c (100%)
rename example/{ => plugins/c-api}/thread_pool/thread.h (100%)
rename example/{ => plugins/c-api}/txn_data_sink/txn_data_sink.c (100%)
rename example/{ => plugins/c-api}/vconn_args/vconn_args.cc (100%)
rename example/{ => plugins/c-api}/verify_cert/verify_cert.cc (100%)
rename example/{ => plugins/c-api}/version/version.c (100%)
create mode 100644 example/plugins/cpp-api/Makefile.am
rename example/{cppapi => plugins/cpp-api}/async_http_fetch/AsyncHttpFetch.cc (100%)
rename example/{cppapi => plugins/cpp-api}/async_http_fetch_streaming/AsyncHttpFetchStreaming.cc (100%)
rename example/{cppapi => plugins/cpp-api}/async_timer/AsyncTimer.cc (100%)
rename example/{cppapi => plugins/cpp-api}/boom/README.txt (100%)
rename example/{cppapi => plugins/cpp-api}/boom/boom.cc (100%)
rename example/{cppapi => plugins/cpp-api}/clientredirect/ClientRedirect.cc (100%)
rename example/{cppapi => plugins/cpp-api}/clientrequest/ClientRequest.cc (100%)
rename example/{cppapi => plugins/cpp-api}/custom_error_remap_plugin/CustomErrorRemapPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/customresponse/CustomResponse.cc (100%)
rename example/{cppapi => plugins/cpp-api}/delay_transformation_plugin/DelayTransformationPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/globalhook/GlobalHookPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/gzip_transformation/GzipTransformationPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/helloworld/HelloWorldPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/intercept/intercept.cc (100%)
rename example/{cppapi => plugins/cpp-api}/internal_transaction_handling/InternalTransactionHandling.cc (100%)
rename example/{cppapi => plugins/cpp-api}/logger_example/LoggerExample.cc (100%)
rename example/{cppapi => plugins/cpp-api}/multiple_transaction_hooks/MultipleTransactionHookPlugins.cc (100%)
rename example/{cppapi => plugins/cpp-api}/null_transformation_plugin/NullTransformationPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/post_buffer/PostBuffer.cc (100%)
rename example/{cppapi => plugins/cpp-api}/remap_plugin/RemapPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/serverresponse/ServerResponse.cc (100%)
rename example/{cppapi => plugins/cpp-api}/stat_example/StatExample.cc (100%)
rename example/{cppapi => plugins/cpp-api}/timeout_example/TimeoutExamplePlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/transactionhook/TransactionHookPlugin.cc (100%)
rename example/{cppapi => plugins/cpp-api}/websocket/README.txt (100%)
rename example/{cppapi => plugins/cpp-api}/websocket/WSBuffer.cc (100%)
rename example/{cppapi => plugins/cpp-api}/websocket/WSBuffer.h (100%)
rename example/{cppapi => plugins/cpp-api}/websocket/WebSocket.cc (100%)
rename example/{cppapi => plugins/cpp-api}/websocket/WebSocket.h (100%)
create mode 100644 example/plugins/lua-api/connect_geoip.lua
create mode 100644 example/plugins/lua-api/connect_redis.lua
create mode 100644 example/plugins/lua-api/sorted_query_params.lua
create mode 100644 example/plugins/lua-api/uncompress.lua
copy tests/gold_tests/{cont_schedule/schedule.test.py => shutdown/emergency.test.py} (54%)
copy tests/gold_tests/{cont_schedule/schedule.test.py => shutdown/fatal.test.py} (54%)
create mode 100644 tests/tools/plugins/emergency_shutdown.cc
create mode 100644 tests/tools/plugins/fatal_shutdown.cc
create mode 100755 tools/traffic_cacheable.pl