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:24:55 UTC

[trafficserver] branch quic-latest updated (5b34a89 -> bc7fed6)

This is an automated email from the ASF dual-hosted git repository.

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


    from 5b34a89  Fix PADDING frame parser
     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 bc7fed6  Merge branch 'master' into quic-latest

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