Merge branch 'master' into 6.0.x * master: (188 commits) Clang-format. briang what is the Jira for this?? TS-3798: Copy server session sharing pool to local HttpSM configuration. Revert "TS-3584: SPDY and H2 requests should not trigger connection keep-alive." Revert "TS-3640: Drupal auth fails over SPDY" TS-3030 Restore the autoreconf -if ... TS-3729 cache_promote: defer TSHttpTxnServerRespNoStoreSet() to a global continuation, saves a possible race condition Revert "TS-3729 cache_promote: defer TSHttpTxnServerRespNoStoreSet() to a global continuation, saves a possible race condition" TS-3030 Remove the Makefile targets / ops TS-3729 cache_promote: defer TSHttpTxnServerRespNoStoreSet() to a global continuation, saves a possible race condition TS-3774 clang-format [TS-3794]: call spdy_process_read on early read from handshake. TS-3774: Fix memory leak issue in host file parsing for HostDB. [TS-3794]: Enhance post SSL handshake read race condition for SPDY and H2 scenarios. TS-3793: Check the incoming header request length for HTTP/2 requests TS-3783 TS-3030 Add luajit v2.0.4 as a subtree TS-3030 Remove the LuaJIT sub-module TS-3773 clang-format TS-3773: HostDB view all: add more detail for RR records Fixed typo in comment Fixed typo in comments ...
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/13c76b35 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/13c76b35 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/13c76b35 Branch: refs/heads/6.0.x Commit: 13c76b35cfd4c1b8d9225a8b24279beb08215a46 Parents: a0b75bc 95f45d4 Author: Leif Hedstrom <zw...@apache.org> Authored: Mon Jul 27 13:10:51 2015 -0600 Committer: Leif Hedstrom <zw...@apache.org> Committed: Mon Jul 27 13:10:51 2015 -0600 ---------------------------------------------------------------------- .gitignore | 6 +- .gitmodules | 3 - Makefile.am | 9 +- NOTICE | 5 + build/plugins.mk | 2 - ci/jenkins/bin/in_tree.sh | 3 +- ci/jenkins/bin/out_of_tree.sh | 6 +- ci/tsqa/tests/test_body_factory.py | 79 + ci/tsqa/tests/test_cache_generation.py | 10 +- ci/tsqa/tests/test_connect_attempts.py | 4 - ci/tsqa/tests/test_custom_log.py | 71 + ci/tsqa/tests/test_hostdb.py | 107 + ci/tsqa/tests/test_regressions.py | 1 + ci/tsqa/tests/test_tls_ticket_key_rotation.py | 172 + cmd/traffic_cop/Makefile.am | 1 - cmd/traffic_cop/traffic_cop.cc | 14 +- cmd/traffic_crashlog/Makefile.am | 2 - cmd/traffic_crashlog/traffic_crashlog.cc | 16 +- cmd/traffic_crashlog/traffic_crashlog.h | 5 +- cmd/traffic_ctl/Makefile.am | 1 - cmd/traffic_ctl/traffic_ctl.h | 9 +- cmd/traffic_layout/Makefile.am | 2 - cmd/traffic_layout/traffic_layout.cc | 164 +- cmd/traffic_line/Makefile.am | 1 - cmd/traffic_line/traffic_line.cc | 12 +- cmd/traffic_manager/AddConfigFilesHere.cc | 4 +- cmd/traffic_manager/Makefile.am | 4 +- cmd/traffic_manager/MgmtHandlers.cc | 5 +- cmd/traffic_manager/StatProcessor.cc | 3 +- cmd/traffic_manager/StatProcessor.h | 4 +- cmd/traffic_manager/StatType.cc | 6 +- cmd/traffic_manager/StatXML.cc | 2 +- cmd/traffic_manager/StatXML.h | 2 +- cmd/traffic_manager/WebOverview.cc | 6 +- cmd/traffic_manager/WebOverview.h | 8 +- cmd/traffic_manager/traffic_manager.cc | 12 +- cmd/traffic_top/Makefile.am | 3 - cmd/traffic_top/traffic_top.cc | 2 +- cmd/traffic_via/Makefile.am | 1 - cmd/traffic_via/traffic_via.cc | 13 +- cmd/traffic_wccp/Makefile.am | 1 - cmd/traffic_wccp/wccp_client.cc | 4 +- configure.ac | 3 +- doc/admin/cluster-howto.en.rst | 4 +- doc/admin/event-logging-formats.en.rst | 42 + doc/admin/faqs.en.rst | 32 +- doc/admin/http-proxy-caching.en.rst | 20 + doc/manpages.py | 1 + doc/reference/api/TSHttpTxnMilestoneGet.en.rst | 12 + doc/reference/commands/index.en.rst | 1 + doc/reference/commands/traffic_ctl.en.rst | 234 + .../configuration/records.config.en.rst | 48 +- ...gin-registration-and-version-checking.en.rst | 4 +- .../working-with-http-headers.en.rst | 10 +- .../working-with-http-header-functions.en.rst | 6 +- doc/sdk/http-hooks-and-transactions.en.rst | 11 + doc/sdk/http-transformation-plugin.en.rst | 18 + doc/sdk/index.en.rst | 1 + doc/sdk/remap-plugin/example-query-remap.en.rst | 2 +- doc/sdk/sample-source-code.en.rst | 22 +- doc/sdk/trafficserver-timers.en.rst | 37 + example/Makefile.am | 2 + example/add-header/add-header.c | 30 +- example/append-transform/append-transform.c | 10 +- example/basic-auth/basic-auth.c | 18 +- example/blacklist-0/blacklist-0.c | 14 +- example/blacklist-1/blacklist-1.c | 20 +- example/bnull-transform/bnull-transform.c | 9 +- example/cache-scan/cache-scan.cc | 16 +- example/file-1/file-1.c | 2 +- example/hello/hello.c | 4 +- example/lifecycle-plugin/lifecycle-plugin.c | 7 +- example/null-transform/null-transform.c | 9 +- example/output-header/output-header.c | 11 +- example/protocol/Protocol.c | 11 +- example/protocol/TxnSM.c | 8 +- example/query-remap/query-remap.c | 6 +- example/redirect-1/redirect-1.c | 12 +- example/remap/remap.cc | 4 +- example/remap_header_add/remap_header_add.cc | 8 +- example/replace-header/replace-header.c | 6 +- example/response-header-1/response-header-1.c | 26 +- example/secure-link/secure-link.c | 10 +- example/server-transform/server-transform.c | 28 +- example/session-1/session-1.c | 7 +- example/ssl-sni-whitelist/ssl-sni-whitelist.cc | 2 +- example/ssl-sni/ssl-sni.cc | 2 +- example/thread-1/thread-1.c | 4 +- example/thread-pool/psi.c | 10 +- example/thread-pool/thread.c | 4 +- example/txn-data-sink/txn-data-sink.c | 176 + example/version/version.c | 15 +- iocore/aio/AIO.cc | 4 +- iocore/aio/I_AIO.h | 2 +- iocore/aio/Makefile.am | 4 +- iocore/aio/test_AIO.cc | 8 +- iocore/cache/Cache.cc | 8 +- iocore/cache/CacheDir.cc | 8 +- iocore/cache/CacheDisk.cc | 1 + iocore/cache/CacheHosting.cc | 4 +- iocore/cache/CacheHttp.cc | 2 +- iocore/cache/CacheRead.cc | 18 +- iocore/cache/CacheWrite.cc | 6 +- iocore/cache/I_Cache.h | 2 +- iocore/cache/I_CacheDefs.h | 2 + iocore/cache/I_Store.h | 2 +- iocore/cache/Makefile.am | 2 - iocore/cache/P_Cache.h | 4 +- iocore/cache/P_CacheInternal.h | 16 +- iocore/cache/P_CacheTest.h | 2 +- iocore/cache/RamCacheCLFUS.cc | 1 + iocore/cache/Store.cc | 7 +- iocore/cluster/ClusterCache.cc | 18 +- iocore/cluster/ClusterConfig.cc | 6 +- iocore/cluster/ClusterHandler.cc | 26 +- iocore/cluster/ClusterLoadMonitor.cc | 4 +- iocore/cluster/ClusterMachine.cc | 5 +- iocore/cluster/ClusterProcessor.cc | 8 +- iocore/cluster/Makefile.am | 2 - iocore/cluster/P_Cluster.h | 2 +- iocore/dns/DNS.cc | 18 +- iocore/dns/Makefile.am | 2 - iocore/dns/P_DNS.h | 2 +- iocore/dns/P_DNSProcessor.h | 10 +- iocore/dns/SRV.h | 2 +- iocore/dns/SplitDNS.cc | 10 +- iocore/eventsystem/IOBuffer.cc | 2 +- iocore/eventsystem/I_Action.h | 2 +- iocore/eventsystem/I_Continuation.h | 3 +- iocore/eventsystem/I_EThread.h | 4 +- iocore/eventsystem/I_Event.h | 2 +- iocore/eventsystem/I_EventProcessor.h | 2 +- iocore/eventsystem/I_EventSystem.h | 2 +- iocore/eventsystem/I_IOBuffer.h | 8 +- iocore/eventsystem/I_Lock.h | 11 +- iocore/eventsystem/I_PriorityEventQueue.h | 2 +- iocore/eventsystem/I_Processor.h | 2 +- iocore/eventsystem/I_ProtectedQueue.h | 2 +- iocore/eventsystem/I_ProxyAllocator.h | 2 +- iocore/eventsystem/I_SocketManager.h | 2 +- iocore/eventsystem/I_Thread.h | 7 +- iocore/eventsystem/I_VConnection.h | 2 +- iocore/eventsystem/I_VIO.h | 4 +- iocore/eventsystem/Lock.cc | 2 +- iocore/eventsystem/Makefile.am | 3 +- iocore/eventsystem/P_EventSystem.h | 2 +- iocore/eventsystem/P_Freer.h | 2 +- iocore/eventsystem/P_IOBuffer.h | 6 +- iocore/eventsystem/P_Thread.h | 12 - iocore/eventsystem/P_UnixEThread.h | 8 +- iocore/eventsystem/P_UnixEventProcessor.h | 6 +- iocore/eventsystem/P_UnixSocketManager.h | 3 +- iocore/eventsystem/SocketManager.cc | 2 +- iocore/eventsystem/Thread.cc | 7 + iocore/eventsystem/UnixEThread.cc | 2 +- iocore/eventsystem/UnixEvent.cc | 4 +- iocore/eventsystem/UnixEventProcessor.cc | 2 +- iocore/eventsystem/test_Buffer.cc | 3 +- iocore/eventsystem/test_Event.cc | 2 +- iocore/hostdb/HostDB.cc | 465 +- iocore/hostdb/I_HostDB.h | 3 +- iocore/hostdb/I_HostDBProcessor.h | 55 +- iocore/hostdb/Makefile.am | 2 - iocore/hostdb/MultiCache.cc | 6 +- iocore/hostdb/P_HostDB.h | 2 +- iocore/hostdb/P_HostDBProcessor.h | 64 +- iocore/net/Connection.cc | 2 +- iocore/net/I_Net.h | 2 +- iocore/net/I_NetVConnection.h | 3 +- iocore/net/I_UDPNet.h | 4 +- iocore/net/Makefile.am | 3 +- iocore/net/OCSPStapling.cc | 4 +- iocore/net/P_Connection.h | 2 +- iocore/net/P_Net.h | 2 +- iocore/net/P_NetAccept.h | 2 +- iocore/net/P_NetVCTest.h | 2 +- iocore/net/P_SSLClientUtils.h | 4 +- iocore/net/P_SSLConfig.h | 9 + iocore/net/P_SSLNetAccept.h | 2 +- iocore/net/P_SSLNetProcessor.h | 2 +- iocore/net/P_SSLNetVConnection.h | 57 +- iocore/net/P_SSLNextProtocolSet.h | 2 +- iocore/net/P_SSLUtils.h | 4 +- iocore/net/P_UnixNet.h | 10 +- iocore/net/P_UnixNetState.h | 2 +- iocore/net/P_UnixNetVConnection.h | 29 +- iocore/net/P_UnixPollDescriptor.h | 2 +- iocore/net/SSLCertLookup.cc | 8 +- iocore/net/SSLClientUtils.cc | 6 +- iocore/net/SSLConfig.cc | 37 +- iocore/net/SSLDynlock.cc | 7 +- iocore/net/SSLInternal.cc | 2 +- iocore/net/SSLNetAccept.cc | 2 +- iocore/net/SSLNetProcessor.cc | 4 +- iocore/net/SSLNetVConnection.cc | 323 +- iocore/net/SSLNextProtocolAccept.cc | 3 +- iocore/net/SSLNextProtocolSet.cc | 6 +- iocore/net/SSLSessionCache.cc | 10 +- iocore/net/SSLSessionCache.h | 10 +- iocore/net/SSLUtils.cc | 35 +- iocore/net/Socks.cc | 4 +- iocore/net/UnixNet.cc | 11 +- iocore/net/UnixNetAccept.cc | 12 +- iocore/net/UnixNetPages.cc | 4 +- iocore/net/UnixNetProcessor.cc | 4 +- iocore/net/UnixNetVConnection.cc | 84 +- iocore/net/test_I_UDPNet.cc | 2 +- iocore/net/test_P_UDPNet.cc | 2 +- iocore/utils/I_Machine.h | 2 + iocore/utils/Machine.cc | 5 +- iocore/utils/Makefile.am | 1 - lib/Makefile.am | 1 - .../examples/async_http_fetch/Makefile.am | 13 +- .../async_http_fetch_streaming/Makefile.am | 13 +- lib/atscppapi/examples/async_timer/Makefile.am | 14 +- lib/atscppapi/examples/boom/Makefile.am | 15 +- lib/atscppapi/examples/boom/boom.cc | 2 +- .../examples/clientredirect/Makefile.am | 15 +- .../examples/clientrequest/Makefile.am | 13 +- .../examples/customresponse/Makefile.am | 14 +- lib/atscppapi/examples/globalhook/Makefile.am | 14 +- .../examples/gzip_transformation/Makefile.am | 13 +- lib/atscppapi/examples/helloworld/Makefile.am | 14 +- lib/atscppapi/examples/intercept/Makefile.am | 15 +- .../internal_transaction_handling/Makefile.am | 14 +- .../examples/logger_example/Makefile.am | 13 +- .../multiple_transaction_hooks/Makefile.am | 15 +- .../null_transformation_plugin/Makefile.am | 14 +- lib/atscppapi/examples/post_buffer/Makefile.am | 14 +- lib/atscppapi/examples/remap_plugin/Makefile.am | 13 +- .../examples/serverresponse/Makefile.am | 14 +- lib/atscppapi/examples/stat_example/Makefile.am | 13 +- .../examples/timeout_example/Makefile.am | 13 +- .../examples/transactionhook/Makefile.am | 13 +- lib/atscppapi/src/Makefile.am | 10 +- lib/atscppapi/src/Transaction.cc | 2 +- .../src/include/atscppapi/PluginInit.h | 2 +- .../src/include/atscppapi/Transaction.h | 2 +- lib/luajit | 1 - lib/luajit/.gitignore | 11 + lib/luajit/COPYRIGHT | 56 + lib/luajit/Makefile | 151 + lib/luajit/README | 16 + lib/luajit/doc/bluequad-print.css | 166 + lib/luajit/doc/bluequad.css | 325 + lib/luajit/doc/changes.html | 978 +++ lib/luajit/doc/contact.html | 102 + lib/luajit/doc/ext_c_api.html | 187 + lib/luajit/doc/ext_ffi.html | 330 + lib/luajit/doc/ext_ffi_api.html | 566 ++ lib/luajit/doc/ext_ffi_semantics.html | 1245 +++ lib/luajit/doc/ext_ffi_tutorial.html | 601 ++ lib/luajit/doc/ext_jit.html | 199 + lib/luajit/doc/extensions.html | 408 + lib/luajit/doc/faq.html | 184 + lib/luajit/doc/img/contact.png | Bin 0 -> 1340 bytes lib/luajit/doc/install.html | 646 ++ lib/luajit/doc/luajit.html | 234 + lib/luajit/doc/running.html | 306 + lib/luajit/doc/status.html | 116 + lib/luajit/dynasm/dasm_arm.h | 456 + lib/luajit/dynasm/dasm_arm.lua | 1125 +++ lib/luajit/dynasm/dasm_mips.h | 416 + lib/luajit/dynasm/dasm_mips.lua | 953 +++ lib/luajit/dynasm/dasm_ppc.h | 412 + lib/luajit/dynasm/dasm_ppc.lua | 1249 +++ lib/luajit/dynasm/dasm_proto.h | 83 + lib/luajit/dynasm/dasm_x64.lua | 12 + lib/luajit/dynasm/dasm_x86.h | 471 ++ lib/luajit/dynasm/dasm_x86.lua | 1945 +++++ lib/luajit/dynasm/dynasm.lua | 1094 +++ lib/luajit/etc/luajit.1 | 88 + lib/luajit/etc/luajit.pc | 25 + lib/luajit/src/.gitignore | 7 + lib/luajit/src/Makefile | 684 ++ lib/luajit/src/Makefile.dep | 226 + lib/luajit/src/host/.gitignore | 3 + lib/luajit/src/host/README | 4 + lib/luajit/src/host/buildvm.c | 516 ++ lib/luajit/src/host/buildvm.h | 104 + lib/luajit/src/host/buildvm_asm.c | 313 + lib/luajit/src/host/buildvm_fold.c | 229 + lib/luajit/src/host/buildvm_lib.c | 398 + lib/luajit/src/host/buildvm_peobj.c | 368 + lib/luajit/src/host/genminilua.lua | 428 + lib/luajit/src/host/minilua.c | 7770 ++++++++++++++++++ lib/luajit/src/jit/.gitignore | 1 + lib/luajit/src/jit/bc.lua | 191 + lib/luajit/src/jit/bcsave.lua | 659 ++ lib/luajit/src/jit/dis_arm.lua | 689 ++ lib/luajit/src/jit/dis_mips.lua | 428 + lib/luajit/src/jit/dis_mipsel.lua | 20 + lib/luajit/src/jit/dis_ppc.lua | 591 ++ lib/luajit/src/jit/dis_x64.lua | 20 + lib/luajit/src/jit/dis_x86.lua | 836 ++ lib/luajit/src/jit/dump.lua | 699 ++ lib/luajit/src/jit/v.lua | 167 + lib/luajit/src/lauxlib.h | 167 + lib/luajit/src/lib_aux.c | 356 + lib/luajit/src/lib_base.c | 683 ++ lib/luajit/src/lib_bit.c | 74 + lib/luajit/src/lib_debug.c | 405 + lib/luajit/src/lib_ffi.c | 851 ++ lib/luajit/src/lib_init.c | 55 + lib/luajit/src/lib_io.c | 539 ++ lib/luajit/src/lib_jit.c | 663 ++ lib/luajit/src/lib_math.c | 233 + lib/luajit/src/lib_os.c | 287 + lib/luajit/src/lib_package.c | 602 ++ lib/luajit/src/lib_string.c | 940 +++ lib/luajit/src/lib_table.c | 300 + lib/luajit/src/lj.supp | 26 + lib/luajit/src/lj_alloc.c | 1396 ++++ lib/luajit/src/lj_alloc.h | 17 + lib/luajit/src/lj_api.c | 1200 +++ lib/luajit/src/lj_arch.h | 437 + lib/luajit/src/lj_asm.c | 1920 +++++ lib/luajit/src/lj_asm.h | 17 + lib/luajit/src/lj_asm_arm.h | 2361 ++++++ lib/luajit/src/lj_asm_mips.h | 1977 +++++ lib/luajit/src/lj_asm_ppc.h | 2169 +++++ lib/luajit/src/lj_asm_x86.h | 2806 +++++++ lib/luajit/src/lj_bc.c | 14 + lib/luajit/src/lj_bc.h | 261 + lib/luajit/src/lj_bcdump.h | 66 + lib/luajit/src/lj_bcread.c | 476 ++ lib/luajit/src/lj_bcwrite.c | 396 + lib/luajit/src/lj_carith.c | 353 + lib/luajit/src/lj_carith.h | 27 + lib/luajit/src/lj_ccall.c | 900 ++ lib/luajit/src/lj_ccall.h | 171 + lib/luajit/src/lj_ccallback.c | 644 ++ lib/luajit/src/lj_ccallback.h | 25 + lib/luajit/src/lj_cconv.c | 752 ++ lib/luajit/src/lj_cconv.h | 70 + lib/luajit/src/lj_cdata.c | 285 + lib/luajit/src/lj_cdata.h | 75 + lib/luajit/src/lj_char.c | 43 + lib/luajit/src/lj_char.h | 42 + lib/luajit/src/lj_clib.c | 409 + lib/luajit/src/lj_clib.h | 29 + lib/luajit/src/lj_cparse.c | 1872 +++++ lib/luajit/src/lj_cparse.h | 65 + lib/luajit/src/lj_crecord.c | 1671 ++++ lib/luajit/src/lj_crecord.h | 31 + lib/luajit/src/lj_ctype.c | 634 ++ lib/luajit/src/lj_ctype.h | 461 ++ lib/luajit/src/lj_debug.c | 605 ++ lib/luajit/src/lj_debug.h | 61 + lib/luajit/src/lj_def.h | 353 + lib/luajit/src/lj_dispatch.c | 494 ++ lib/luajit/src/lj_dispatch.h | 131 + lib/luajit/src/lj_emit_arm.h | 356 + lib/luajit/src/lj_emit_mips.h | 211 + lib/luajit/src/lj_emit_ppc.h | 238 + lib/luajit/src/lj_emit_x86.h | 466 ++ lib/luajit/src/lj_err.c | 800 ++ lib/luajit/src/lj_err.h | 41 + lib/luajit/src/lj_errmsg.h | 193 + lib/luajit/src/lj_ff.h | 18 + lib/luajit/src/lj_ffrecord.c | 888 ++ lib/luajit/src/lj_ffrecord.h | 24 + lib/luajit/src/lj_frame.h | 183 + lib/luajit/src/lj_func.c | 185 + lib/luajit/src/lj_func.h | 24 + lib/luajit/src/lj_gc.c | 849 ++ lib/luajit/src/lj_gc.h | 134 + lib/luajit/src/lj_gdbjit.c | 795 ++ lib/luajit/src/lj_gdbjit.h | 22 + lib/luajit/src/lj_ir.c | 501 ++ lib/luajit/src/lj_ir.h | 551 ++ lib/luajit/src/lj_ircall.h | 277 + lib/luajit/src/lj_iropt.h | 161 + lib/luajit/src/lj_jit.h | 417 + lib/luajit/src/lj_lex.c | 482 ++ lib/luajit/src/lj_lex.h | 85 + lib/luajit/src/lj_lib.c | 258 + lib/luajit/src/lj_lib.h | 112 + lib/luajit/src/lj_load.c | 168 + lib/luajit/src/lj_mcode.c | 386 + lib/luajit/src/lj_mcode.h | 30 + lib/luajit/src/lj_meta.c | 466 ++ lib/luajit/src/lj_meta.h | 37 + lib/luajit/src/lj_obj.c | 35 + lib/luajit/src/lj_obj.h | 856 ++ lib/luajit/src/lj_opt_dce.c | 78 + lib/luajit/src/lj_opt_fold.c | 2304 ++++++ lib/luajit/src/lj_opt_loop.c | 436 + lib/luajit/src/lj_opt_mem.c | 916 +++ lib/luajit/src/lj_opt_narrow.c | 656 ++ lib/luajit/src/lj_opt_sink.c | 245 + lib/luajit/src/lj_opt_split.c | 731 ++ lib/luajit/src/lj_parse.c | 2754 +++++++ lib/luajit/src/lj_parse.h | 18 + lib/luajit/src/lj_record.c | 2252 +++++ lib/luajit/src/lj_record.h | 44 + lib/luajit/src/lj_snap.c | 866 ++ lib/luajit/src/lj_snap.h | 34 + lib/luajit/src/lj_state.c | 287 + lib/luajit/src/lj_state.h | 35 + lib/luajit/src/lj_str.c | 339 + lib/luajit/src/lj_str.h | 50 + lib/luajit/src/lj_strscan.c | 498 ++ lib/luajit/src/lj_strscan.h | 39 + lib/luajit/src/lj_tab.c | 631 ++ lib/luajit/src/lj_tab.h | 70 + lib/luajit/src/lj_target.h | 162 + lib/luajit/src/lj_target_arm.h | 274 + lib/luajit/src/lj_target_mips.h | 257 + lib/luajit/src/lj_target_ppc.h | 280 + lib/luajit/src/lj_target_x86.h | 342 + lib/luajit/src/lj_trace.c | 816 ++ lib/luajit/src/lj_trace.h | 53 + lib/luajit/src/lj_traceerr.h | 61 + lib/luajit/src/lj_udata.c | 34 + lib/luajit/src/lj_udata.h | 14 + lib/luajit/src/lj_vm.h | 116 + lib/luajit/src/lj_vmevent.c | 57 + lib/luajit/src/lj_vmevent.h | 59 + lib/luajit/src/lj_vmmath.c | 140 + lib/luajit/src/ljamalg.c | 93 + lib/luajit/src/lua.h | 393 + lib/luajit/src/lua.hpp | 9 + lib/luajit/src/luaconf.h | 156 + lib/luajit/src/luajit.c | 571 ++ lib/luajit/src/luajit.h | 70 + lib/luajit/src/lualib.h | 43 + lib/luajit/src/msvcbuild.bat | 113 + lib/luajit/src/ps4build.bat | 103 + lib/luajit/src/psvitabuild.bat | 93 + lib/luajit/src/vm_arm.dasc | 4486 ++++++++++ lib/luajit/src/vm_mips.dasc | 4241 ++++++++++ lib/luajit/src/vm_ppc.dasc | 5160 ++++++++++++ lib/luajit/src/vm_ppcspe.dasc | 3691 +++++++++ lib/luajit/src/vm_x86.dasc | 6377 ++++++++++++++ lib/luajit/src/xedkbuild.bat | 92 + lib/raft/raft.h | 136 + lib/raft/raft.proto | 99 + lib/raft/raft_impl.h | 621 ++ lib/raft/raft_test.cc | 850 ++ lib/raft/test_makefile | 157 + lib/records/I_RecCore.h | 2 +- lib/records/I_RecDefs.h | 4 +- lib/records/I_RecMutex.h | 4 +- lib/records/Makefile.am | 4 +- lib/records/P_RecCore.cc | 11 +- lib/records/P_RecCore.h | 10 +- lib/records/P_RecUtils.h | 4 +- lib/records/RecConfigParse.cc | 13 +- lib/records/RecCore.cc | 6 +- lib/records/RecFile.cc | 3 +- lib/records/RecLocal.cc | 4 +- lib/records/RecMessage.cc | 6 +- lib/records/RecMutex.cc | 2 +- lib/records/RecProcess.cc | 3 +- lib/records/RecUtils.cc | 4 +- lib/records/test_RecProcess.i | 2 +- lib/ts/Allocator.h | 6 +- lib/ts/Arena.cc | 6 +- lib/ts/Arena.h | 2 +- lib/ts/Bitops.cc | 2 +- lib/ts/Bitops.h | 3 +- lib/ts/CompileParseRules.cc | 4 +- lib/ts/ConsistentHash.cc | 2 +- lib/ts/ConsistentHash.h | 2 +- lib/ts/CryptoHash.h | 9 +- lib/ts/Diags.cc | 16 +- lib/ts/Diags.h | 8 +- lib/ts/EventNotify.cc | 6 +- lib/ts/EventNotify.h | 2 +- lib/ts/Hash.cc | 2 +- lib/ts/HashFNV.cc | 2 +- lib/ts/HashFNV.h | 2 +- lib/ts/HashMD5.cc | 2 +- lib/ts/HashMD5.h | 2 +- lib/ts/HashSip.cc | 2 +- lib/ts/HashSip.h | 2 +- lib/ts/HostLookup.cc | 12 +- lib/ts/INK_MD5.h | 6 +- lib/ts/IpMap.cc | 2 +- lib/ts/IpMap.h | 12 +- lib/ts/Layout.cc | 8 +- lib/ts/List.h | 6 +- lib/ts/MMH.cc | 6 +- lib/ts/MMH.h | 6 +- lib/ts/Makefile.am | 1 - lib/ts/Map.h | 7 +- lib/ts/MatcherUtils.cc | 8 +- lib/ts/MatcherUtils.h | 4 +- lib/ts/MimeTable.cc | 3 +- lib/ts/MimeTable.h | 4 +- lib/ts/ParseRules.cc | 3 +- lib/ts/ParseRules.h | 6 +- lib/ts/Ptr.h | 2 +- lib/ts/RawHashTable.cc | 2 +- lib/ts/RawHashTable.h | 5 +- lib/ts/RbTree.cc | 2 +- lib/ts/Regex.cc | 6 +- lib/ts/Regex.h | 2 +- lib/ts/Regression.cc | 5 +- lib/ts/Regression.h | 4 +- lib/ts/SimpleTokenizer.h | 1 + lib/ts/TestBox.h | 3 +- lib/ts/TestHttpHeader.cc | 2 +- lib/ts/TextBuffer.cc | 6 +- lib/ts/TextBuffer.h | 4 +- lib/ts/Tokenizer.cc | 10 +- lib/ts/Tokenizer.h | 2 +- lib/ts/Trie.h | 2 +- lib/ts/Vec.cc | 2 +- lib/ts/Vec.h | 4 +- lib/ts/Version.cc | 4 +- lib/ts/X509HostnameValidator.cc | 2 +- lib/ts/X509HostnameValidator.h | 2 + lib/ts/apidefs.h.in | 1 + lib/ts/defalloc.h | 2 +- lib/ts/hugepages.cc | 4 +- lib/ts/ink_aiocb.h | 2 +- lib/ts/ink_align.h | 2 +- lib/ts/ink_args.cc | 8 +- lib/ts/ink_args.h | 4 +- lib/ts/ink_assert.cc | 8 +- lib/ts/ink_assert.h | 4 +- lib/ts/ink_atomic.h | 6 +- lib/ts/ink_auth_api.cc | 6 +- lib/ts/ink_auth_api.h | 2 +- lib/ts/ink_base64.cc | 5 +- lib/ts/ink_cap.cc | 8 +- lib/ts/ink_cap.h | 2 +- lib/ts/ink_code.cc | 8 +- lib/ts/ink_code.h | 4 +- lib/ts/ink_config.h.in | 10 +- lib/ts/ink_defs.cc | 4 +- lib/ts/ink_defs.h | 2 +- lib/ts/ink_error.cc | 6 +- lib/ts/ink_error.h | 4 +- lib/ts/ink_file.cc | 5 +- lib/ts/ink_file.h | 2 +- lib/ts/ink_hash_table.cc | 6 +- lib/ts/ink_hash_table.h | 2 +- lib/ts/ink_hrtime.cc | 6 +- lib/ts/ink_hrtime.h | 4 +- lib/ts/ink_inet.cc | 7 +- lib/ts/ink_inet.h | 19 +- lib/ts/ink_llqueue.h | 4 +- lib/ts/ink_lockfile.h | 4 +- lib/ts/ink_memory.cc | 6 +- lib/ts/ink_memory.h | 2 +- lib/ts/ink_mutex.cc | 6 +- lib/ts/ink_mutex.h | 2 +- lib/ts/ink_platform.h | 4 +- lib/ts/ink_queue.cc | 16 +- lib/ts/ink_queue.h | 6 +- lib/ts/ink_queue_utils.cc | 6 +- lib/ts/ink_rand.cc | 3 +- lib/ts/ink_rand.h | 4 +- lib/ts/ink_res_init.cc | 37 +- lib/ts/ink_res_mkquery.cc | 8 +- lib/ts/ink_resolver.h | 7 +- lib/ts/ink_resource.cc | 6 +- lib/ts/ink_resource.h | 2 +- lib/ts/ink_rwlock.cc | 4 +- lib/ts/ink_rwlock.h | 4 +- lib/ts/ink_sock.cc | 5 +- lib/ts/ink_sock.h | 6 +- lib/ts/ink_sprintf.cc | 2 +- lib/ts/ink_sprintf.h | 4 +- lib/ts/ink_stack_trace.cc | 5 +- lib/ts/ink_string++.cc | 6 +- lib/ts/ink_string.cc | 3 +- lib/ts/ink_string.h | 8 +- lib/ts/ink_sys_control.cc | 6 +- lib/ts/ink_syslog.cc | 2 +- lib/ts/ink_thread.cc | 4 +- lib/ts/ink_thread.h | 8 +- lib/ts/ink_time.cc | 10 +- lib/ts/ink_time.h | 6 +- lib/ts/libts.h | 111 - lib/ts/llqueue.cc | 6 +- lib/ts/load_http_hdr.cc | 2 +- lib/ts/lockfile.cc | 4 +- lib/ts/signals.cc | 9 +- lib/ts/test_List.cc | 2 +- lib/ts/test_Map.cc | 2 +- lib/ts/test_Regex.cc | 6 +- lib/ts/test_Vec.cc | 4 +- lib/ts/test_X509HostnameValidator.cc | 4 + lib/ts/test_arena.cc | 2 +- lib/ts/test_atomic.cc | 7 +- lib/ts/test_freelist.cc | 4 +- lib/ts/test_geometry.cc | 5 +- lib/tsconfig/Makefile.am | 2 +- lib/wccp/Makefile.am | 1 - lib/wccp/Wccp.h | 4 +- lib/wccp/WccpEndPoint.cc | 4 +- lib/wccp/WccpMsg.cc | 4 +- lib/wccp/WccpStatic.cc | 4 +- mgmt/Alarms.cc | 7 +- mgmt/Alarms.h | 4 +- mgmt/BaseManager.cc | 4 +- mgmt/BaseManager.h | 7 +- mgmt/FileManager.cc | 5 +- mgmt/FileManager.h | 4 +- mgmt/LocalManager.cc | 9 +- mgmt/Makefile.am | 4 +- mgmt/MgmtDefs.h | 4 +- mgmt/MultiFile.cc | 19 +- mgmt/ProcessManager.cc | 7 +- mgmt/ProcessManager.h | 4 +- mgmt/ProxyConfig.cc | 2 +- mgmt/ProxyConfig.h | 3 +- mgmt/RecordsConfig.cc | 18 +- mgmt/RecordsConfigUtils.cc | 4 +- mgmt/Rollback.cc | 10 +- mgmt/Rollback.h | 10 +- mgmt/WebMgmtUtils.cc | 8 +- mgmt/WebMgmtUtils.h | 4 +- mgmt/api/APITestCliRemote.cc | 6 +- mgmt/api/CfgContextDefs.h | 2 +- mgmt/api/CfgContextImpl.cc | 4 +- mgmt/api/CfgContextImpl.h | 2 +- mgmt/api/CfgContextManager.cc | 4 +- mgmt/api/CfgContextUtils.cc | 7 +- mgmt/api/CoreAPI.cc | 12 +- mgmt/api/CoreAPI.h | 4 +- mgmt/api/CoreAPIRemote.cc | 10 +- mgmt/api/CoreAPIShared.cc | 5 +- mgmt/api/EventCallback.cc | 4 +- mgmt/api/EventCallback.h | 2 +- mgmt/api/EventControlMain.cc | 3 +- mgmt/api/GenericParser.cc | 3 +- mgmt/api/GenericParser.h | 6 +- mgmt/api/INKMgmtAPI.cc | 8 +- mgmt/api/Makefile.am | 2 - mgmt/api/NetworkMessage.cc | 8 +- mgmt/api/NetworkUtilsLocal.cc | 6 +- mgmt/api/NetworkUtilsLocal.h | 2 +- mgmt/api/NetworkUtilsRemote.cc | 12 +- mgmt/api/TSControlMain.cc | 3 +- mgmt/cluster/ClusterCom.cc | 8 +- mgmt/cluster/ClusterCom.h | 4 +- mgmt/cluster/Makefile.am | 4 +- mgmt/cluster/VMap.cc | 4 +- mgmt/cluster/VMap.h | 4 +- mgmt/utils/ExpandingArray.cc | 4 +- mgmt/utils/Makefile.am | 2 - mgmt/utils/MgmtHashTable.h | 6 +- mgmt/utils/MgmtMarshall.cc | 4 +- mgmt/utils/MgmtSocket.cc | 2 +- mgmt/utils/MgmtSocket.h | 2 +- mgmt/utils/MgmtUtils.cc | 5 +- mgmt/utils/MgmtUtils.h | 4 +- mgmt/utils/test_marshall.cc | 6 +- plugins/cacheurl/cacheurl.cc | 33 +- plugins/conf_remap/conf_remap.cc | 38 +- plugins/experimental/Makefile.am | 3 +- .../ats_pagespeed/ats_base_fetch.cc | 2 +- .../ats_pagespeed/ats_beacon_intercept.cc | 23 +- .../experimental/ats_pagespeed/ats_config.cc | 5 +- .../ats_pagespeed/ats_header_utils.cc | 2 +- .../experimental/ats_pagespeed/ats_pagespeed.cc | 16 +- .../ats_pagespeed/ats_resource_intercept.cc | 10 +- plugins/experimental/ats_pagespeed/gzip/gzip.cc | 2 +- plugins/experimental/ats_pagespeed/gzip/misc.cc | 2 +- plugins/experimental/authproxy/authproxy.cc | 3 +- .../background_fetch/background_fetch.cc | 16 +- .../experimental/background_fetch/configs.cc | 12 +- plugins/experimental/background_fetch/configs.h | 2 +- plugins/experimental/background_fetch/rules.cc | 8 +- plugins/experimental/balancer/balancer.cc | 6 +- plugins/experimental/balancer/hash.cc | 2 +- plugins/experimental/balancer/roundrobin.cc | 2 +- .../experimental/buffer_upload/buffer_upload.cc | 44 +- .../experimental/cache_promote/cache_promote.cc | 38 +- .../cache_range_requests.cc | 4 +- .../experimental/channel_stats/channel_stats.cc | 4 +- .../experimental/channel_stats/debug_macros.h | 2 +- .../collapsed_connection.cc | 20 +- .../custom_redirect/custom_redirect.cc | 14 +- plugins/experimental/epic/epic.cc | 5 +- plugins/experimental/esi/combo_handler.cc | 2 +- plugins/experimental/esi/esi.cc | 116 +- .../esi/fetcher/HttpDataFetcherImpl.cc | 19 +- plugins/experimental/esi/serverIntercept.cc | 31 +- plugins/experimental/geoip_acl/acl.cc | 12 +- plugins/experimental/geoip_acl/geoip_acl.cc | 4 +- plugins/experimental/geoip_acl/lulu.h | 20 +- .../experimental/healthchecks/healthchecks.c | 16 +- plugins/experimental/hipes/hipes.cc | 8 +- .../memcached_remap/memcached_remap.cc | 6 +- plugins/experimental/metalink/metalink.cc | 6 +- plugins/experimental/mysql_remap/mysql_remap.cc | 12 +- .../regex_revalidate/regex_revalidate.c | 11 +- plugins/experimental/remap_stats/remap_stats.c | 7 +- plugins/experimental/s3_auth/s3_auth.cc | 8 +- .../ssl_cert_loader/ssl-cert-loader.cc | 15 +- plugins/experimental/sslheaders/expand.cc | 2 +- plugins/experimental/sslheaders/sslheaders.cc | 4 +- plugins/experimental/sslheaders/sslheaders.h | 5 +- plugins/experimental/sslheaders/util.cc | 2 +- .../stale_while_revalidate.c | 7 +- plugins/experimental/stream_editor/Makefile.am | 21 + .../experimental/stream_editor/stream_editor.cc | 871 ++ plugins/experimental/ts_lua/ts_lua.c | 16 +- .../experimental/ts_lua/ts_lua_client_request.c | 4 +- .../ts_lua/ts_lua_client_response.c | 2 +- plugins/experimental/ts_lua/ts_lua_common.h | 2 +- .../experimental/ts_lua/ts_lua_http_config.c | 2 +- .../experimental/ts_lua/ts_lua_http_intercept.c | 10 +- plugins/experimental/ts_lua/ts_lua_log.c | 8 +- plugins/experimental/ts_lua/ts_lua_package.c | 4 +- .../experimental/ts_lua/ts_lua_server_request.c | 4 +- .../ts_lua/ts_lua_server_response.c | 2 +- plugins/experimental/ts_lua/ts_lua_transform.c | 2 +- plugins/experimental/ts_lua/ts_lua_util.c | 6 +- plugins/experimental/url_sig/url_sig.c | 12 +- plugins/experimental/xdebug/xdebug.cc | 4 +- plugins/gzip/gzip.cc | 7 +- plugins/gzip/misc.cc | 2 +- plugins/header_rewrite/condition.cc | 2 +- plugins/header_rewrite/conditions.cc | 8 +- plugins/header_rewrite/factory.cc | 4 +- plugins/header_rewrite/header_rewrite.cc | 16 +- plugins/header_rewrite/lulu.h | 4 +- plugins/header_rewrite/operators.cc | 16 +- plugins/header_rewrite/parser.cc | 4 +- plugins/header_rewrite/ruleset.cc | 4 +- plugins/regex_remap/regex_remap.cc | 34 +- plugins/stats_over_http/stats_over_http.c | 8 +- plugins/tcpinfo/tcpinfo.cc | 2 +- proxy/AbstractBuffer.cc | 4 +- proxy/AbstractBuffer.h | 5 +- proxy/CacheControl.cc | 4 +- proxy/CacheControl.h | 1 + proxy/ControlBase.cc | 12 +- proxy/ControlBase.h | 3 +- proxy/ControlMatcher.cc | 7 +- proxy/ControlMatcher.h | 12 +- proxy/CoreUtils.cc | 4 +- proxy/CoreUtils.h | 2 +- proxy/Crash.cc | 6 +- proxy/EventName.cc | 2 +- proxy/FetchSM.cc | 4 +- proxy/ICP.cc | 12 +- proxy/ICP.h | 4 +- proxy/ICPConfig.cc | 13 +- proxy/IPAllow.cc | 2 +- proxy/InkAPI.cc | 90 +- proxy/InkAPIInternal.h | 2 +- proxy/InkAPITest.cc | 12 +- proxy/InkAPITestTool.cc | 2 +- proxy/InkIOCoreAPI.cc | 4 +- proxy/InkPool_r.h | 2 +- proxy/Main.cc | 17 +- proxy/Main.h | 7 +- proxy/Makefile.am | 2 - proxy/ParentSelection.cc | 4 +- proxy/ParentSelection.h | 5 +- proxy/Plugin.cc | 10 +- proxy/Plugin.h | 2 +- proxy/PluginVC.cc | 8 +- proxy/PluginVC.h | 2 +- proxy/Prefetch.cc | 6 +- proxy/ProtocolProbeSessionAccept.cc | 33 +- proxy/ProxyClientSession.h | 2 +- proxy/RegressionSM.h | 2 + proxy/ReverseProxy.cc | 6 +- proxy/ReverseProxy.h | 4 +- proxy/SocksProxy.cc | 2 +- proxy/StatPages.cc | 4 +- proxy/StatSystem.cc | 22 +- proxy/StatSystem.h | 113 +- proxy/TestClock.cc | 2 +- proxy/TestClusterHash.cc | 2 +- proxy/TestDNS.cc | 2 +- proxy/TestPreProc.cc | 4 +- proxy/TestRegex.cc | 2 +- proxy/Transform.cc | 2 +- proxy/api/ts/ts.h | 6 +- proxy/config/records.config.default.in | 1 + proxy/congest/Congestion.cc | 4 +- proxy/congest/Congestion.h | 4 +- proxy/congest/CongestionDB.cc | 6 +- proxy/congest/CongestionTest.cc | 2 +- proxy/congest/Makefile.am | 2 - proxy/hdrs/HTTP.cc | 8 +- proxy/hdrs/HTTP.h | 6 +- proxy/hdrs/HdrHeap.cc | 4 +- proxy/hdrs/HdrHeap.h | 8 +- proxy/hdrs/HdrTSOnly.cc | 2 +- proxy/hdrs/HdrTest.cc | 8 +- proxy/hdrs/HdrTest.h | 2 +- proxy/hdrs/HdrToken.cc | 9 +- proxy/hdrs/HdrToken.h | 14 +- proxy/hdrs/HdrUtils.cc | 2 +- proxy/hdrs/HdrUtils.h | 2 +- proxy/hdrs/HttpCompat.cc | 2 +- proxy/hdrs/HttpCompat.h | 6 +- proxy/hdrs/MIME.cc | 6 +- proxy/hdrs/MIME.h | 15 +- proxy/hdrs/Makefile.am | 3 +- proxy/hdrs/URL.cc | 6 +- proxy/hdrs/URL.h | 8 +- proxy/hdrs/load_http_hdr.cc | 4 +- proxy/hdrs/test_header.cc | 4 +- proxy/hdrs/test_urlhash.cc | 4 +- proxy/http/HttpBodyFactory.cc | 29 +- proxy/http/HttpBodyFactory.h | 5 +- proxy/http/HttpClientSession.cc | 25 +- proxy/http/HttpClientSession.h | 3 +- proxy/http/HttpConfig.cc | 6 +- proxy/http/HttpConfig.h | 5 +- proxy/http/HttpConnectionCount.h | 6 +- proxy/http/HttpPages.h | 4 +- proxy/http/HttpProxyServerMain.cc | 4 +- proxy/http/HttpSM.cc | 400 +- proxy/http/HttpSM.h | 5 +- proxy/http/HttpServerSession.cc | 4 +- proxy/http/HttpSessionAccept.h | 2 +- proxy/http/HttpTransact.cc | 169 +- proxy/http/HttpTransact.h | 106 +- proxy/http/HttpTransactCache.cc | 4 +- proxy/http/HttpTransactCache.h | 2 +- proxy/http/HttpTransactHeaders.cc | 2 +- proxy/http/HttpTunnel.cc | 31 +- proxy/http/HttpTunnel.h | 9 +- proxy/http/HttpUpdateSM.cc | 2 +- proxy/http/HttpUpdateTester.cc | 4 +- proxy/http/Makefile.am | 2 - proxy/http/RegressionHttpTransact.cc | 2 +- proxy/http/TestHttpTransact.cc | 2 +- proxy/http/remap/AclFiltering.h | 2 +- proxy/http/remap/Makefile.am | 2 - proxy/http/remap/RemapConfig.cc | 10 +- proxy/http/remap/RemapPluginInfo.cc | 2 + proxy/http/remap/RemapPluginInfo.h | 2 +- proxy/http/remap/RemapPlugins.h | 2 +- proxy/http/remap/RemapProcessor.cc | 6 +- proxy/http/remap/UrlMapping.cc | 4 +- proxy/http/remap/UrlMapping.h | 5 +- proxy/http/remap/UrlMappingPathIndex.h | 4 +- proxy/http/remap/UrlRewrite.cc | 6 +- proxy/http/remap/UrlRewrite.h | 4 +- proxy/http/testheaders.cc | 2 +- proxy/http2/HPACK.cc | 5 +- proxy/http2/HPACK.h | 4 +- proxy/http2/HTTP2.cc | 58 +- proxy/http2/HTTP2.h | 21 +- proxy/http2/Http2ClientSession.cc | 28 +- proxy/http2/Http2ClientSession.h | 5 +- proxy/http2/Http2ConnectionState.cc | 42 +- proxy/http2/Http2ConnectionState.h | 11 + proxy/http2/Http2SessionAccept.cc | 10 +- proxy/http2/Http2SessionAccept.h | 2 +- proxy/http2/HuffmanCodec.cc | 4 +- proxy/http2/Makefile.am | 2 - proxy/http2/test_Huffmancode.cc | 34 +- proxy/logcat.cc | 5 +- proxy/logging/Log.cc | 131 +- proxy/logging/Log.h | 21 +- proxy/logging/LogAccess.cc | 71 +- proxy/logging/LogAccess.h | 16 +- proxy/logging/LogAccessHttp.cc | 138 +- proxy/logging/LogAccessHttp.h | 11 +- proxy/logging/LogAccessICP.cc | 2 +- proxy/logging/LogBuffer.cc | 2 +- proxy/logging/LogBuffer.h | 2 +- proxy/logging/LogCollationAccept.cc | 2 +- proxy/logging/LogCollationClientSM.cc | 2 +- proxy/logging/LogCollationHostSM.cc | 2 +- proxy/logging/LogConfig.cc | 12 +- proxy/logging/LogConfig.h | 2 +- proxy/logging/LogField.cc | 141 +- proxy/logging/LogField.h | 11 +- proxy/logging/LogFieldAliasMap.cc | 5 +- proxy/logging/LogFieldAliasMap.h | 6 +- proxy/logging/LogFile.cc | 5 +- proxy/logging/LogFile.h | 4 +- proxy/logging/LogFilter.cc | 6 +- proxy/logging/LogFilter.h | 4 +- proxy/logging/LogFormat.cc | 6 +- proxy/logging/LogFormat.h | 2 +- proxy/logging/LogHost.cc | 2 +- proxy/logging/LogObject.cc | 8 +- proxy/logging/LogObject.h | 2 +- proxy/logging/LogSock.cc | 2 + proxy/logging/LogSock.h | 2 +- proxy/logging/LogStandalone.cc | 7 +- proxy/logging/LogUtils.cc | 3 +- proxy/logging/LogUtils.h | 4 +- proxy/logging/Makefile.am | 2 - proxy/logstats.cc | 13 +- proxy/sac.cc | 5 +- proxy/shared/DiagsConfig.cc | 6 +- proxy/shared/DiagsConfig.h | 2 +- proxy/shared/Error.cc | 4 +- proxy/shared/Error.h | 4 +- proxy/shared/InkXml.cc | 4 +- proxy/shared/InkXml.h | 2 +- proxy/shared/Makefile.am | 4 +- proxy/shared/UglyLogStubs.cc | 2 +- proxy/spdy/Makefile.am | 2 - proxy/spdy/SpdyCallbacks.cc | 3 - proxy/spdy/SpdyClientSession.cc | 21 +- proxy/spdy/SpdyClientSession.h | 11 +- proxy/spdy/SpdyCommon.h | 2 +- proxy/spdy/SpdySessionAccept.cc | 10 +- proxy/test_xml_parser.cc | 2 +- tools/Makefile.am | 3 +- tools/changelog.pl | 3 +- tools/http_load/http_load.c | 2 +- tools/jtest/jtest.cc | 16 +- tools/slow_log_report.pl | 5 +- 913 files changed, 122333 insertions(+), 2986 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/13c76b35/iocore/net/SSLUtils.cc ---------------------------------------------------------------------- diff --cc iocore/net/SSLUtils.cc index 860cef0,e9f30a6..7ebce4b --- a/iocore/net/SSLUtils.cc +++ b/iocore/net/SSLUtils.cc @@@ -201,10 -209,26 +201,27 @@@ ssl_get_cached_session(SSL *ssl, unsign SSL_SESSION *session = NULL; if (session_cache->getSession(sid, &session)) { - return session; + ink_assert(session); + + // Double check the timeout + if (ssl_session_timed_out(session)) { + SSL_INCREMENT_DYN_STAT(ssl_session_cache_miss); + // Due to bug in openssl, the timeout is checked, but only removed + // from the openssl built-in hash table. The external remove cb is not called + #if 0 // This is currently eliminated, since it breaks things in odd ways (see TS-3710) + ssl_rm_cached_session(SSL_get_SSL_CTX(ssl), session); + session = NULL; + #endif + } else { + SSLNetVConnection *netvc = (SSLNetVConnection *)SSL_get_app_data(ssl); + SSL_INCREMENT_DYN_STAT(ssl_session_cache_hit); + netvc->setSSLSessionCacheHit(true); + } + } else { + SSL_INCREMENT_DYN_STAT(ssl_session_cache_miss); } - return session; + + return NULL; } static int