Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hostdb restructure merged with master #32

Conversation

bneradt
Copy link

@bneradt bneradt commented Apr 11, 2022

This contains a merge commit from latest master onto the top of SolidWallOfCode:hostdb-restructure. This preserves the merge metadata as well as the comits, but let me know whether you prefer this merge commit to be a squashed commit on top of your branch.

 Conflicts:
        iocore/hostdb/HostDB.cc
        iocore/hostdb/I_HostDBProcessor.h
        plugins/lua/ts_lua_misc.c
        proxy/http/HttpSM.cc
        proxy/http/HttpTransact.cc
        proxy/http/remap/unit-tests/nexthop_test_stubs.cc
        tests/gold_tests/next_hop/strategies_ch2/strategies_ch2.test.py
        tests/gold_tests/tls/tls_verify_override_base.test.py

SolidWallOfCode and others added 30 commits June 9, 2021 21:22
Without this, large production strategies.yaml files with thousands
of remaps take hours to load, because each remap independently
loads and parses the strategies.yaml file.

This makes the plugin reuse the parsed object if multiple remaps
use the same file. On reload, files are loaded again.
Reverts the behavior of getOriginSession() for a timed out session to the previous behavior, where it returns a null session pointer.
cmcfarlen and others added 26 commits March 21, 2022 12:44
Co-authored-by: Chris McFarlen <cmcfarlen@apple.com>
…f none (apache#8655)

* money_trace: add global support, custom header name, create if none.

This enhances the money_trace to allow it to run globally, with the
ability to override the global with a remap plugin.
Adds in better logging support for the current transaction's trace header.
Allows passthru mode which passes along the client trace header
without modification making ATS transparent.

* money_trace: change logic for how an invalid incoming header is handled

* money_trace autest: remove commented code
…interpret (apache#8742)

the YAML elements in the host protocol in both core and the parent_select
plugin.
Sphinx has fixed the following issue that was blocking us from moving to
Sphinx 4.x:
sphinx-doc/sphinx#9322

With that fixed, we can unpin from 3.x, which this patch does.

Fixes: apache#7941
also remove link to TS timeouts in ocsp settings; unrelated to TS timeouts
Proxy Verifier version 2.3.1 actively closes the connection when the
proxy (ATS) returns a response with a "Connection: close" header. This
improves the stability of the cache-request-method AuTest, wherein ATS,
dependent upon packet timing, would sometimes return a "Connection:
close" and follow it with a TCP FIN. The FIN would then be processed by
the Verifier client after request headers were sent, which would
interrupt the traffic flow and cause the test to fail. With Verifier
version 2.3.1, this is avoided by the client actively closing the
connection when ATS returns the intermittent "Connection: close".
This is a second attempt to upgrade to Sphinx 4.x. The first was apache#8750.
It was noticed, however, that the new Sphinx didn't automatically
deliver the theme.css file. This updates the conf.py file to make the
addition of theme.css explicit.
These buffer size computation macros are meant to be used for callers of
ats_base64_encode/decode.  They were not taking into account a null
terminator, which is always written by those functions.  This causes a
buffer overflow when encode or decode are called on buffers of certain
sizes, e.g. decode on an input buffer of size 4.

This change makes these buffer size calculations match the functions.
It also updates unit tests for the access_control plugin, which uses
these functions.

Since this is a macro change, plugins which use encode/decode will need to
be recompiled.
The AuTests using httpbin all started failing today when new AuTest
pipenv environments started using the 2.1.0 version of Werkzeug. This
new Werkzeug release removes its BaseResponse API because it has been
deprecated for a few releases. httpbin has a dependency upon
BaseResponse, however, and thus it currently fails with this latest
Werkzeug release. This patch temporarily pins Werkzeug until httpbin is
updated so that our httpbin AuTests can run.
Fix a use-after-free error when loading SSL cert or key fails.
Co-authored-by: Chris McFarlen <cmcfarlen@apple.com>
The latest jinja2 breaks Sphinx 3.x builds. For now, pinning jinja2 to
an earlier release for doc builds.
This reverts commit 4dbf914.

In the previous attempt to use Sphinx 4.x, I tried to fix our CSS 4.x
rendering by explicitly adding theme.css to the css_files html_context.
That did indeed add the needed theme.css rendering to the various docs,
but there are still some artifacts that don't render correctly (such as
ts:cv parameters). Reverting 4.x for now since 3.x works fine and moving
to 4.x is turning out to be a bigger project than I expected.
This fix adds reference counting for the Lua plugin remap instance handles. The reference counting
allows us to eliminate an existing memory leak of the instance handles. In addition, this means
that the old Lua memory allocated by LuaJIT may also be freed via LuaJIT garbage collection.

This fix also adds the '--ljgc' remap instance plugin parameter to the Lua plugin. This paramter
enables on-demand LuaJIT garbage collection while the remap instances are created and deleted.
This is useful when operating close to the LuaJIT memory limit, which is currently 2GB on Linux
using LuaJIT v2.1.0-beta3 from 2017.

Fixes apache#8728
Co-authored-by: Chris McFarlen <cmcfarlen@apple.com>
Co-authored-by: Fei Deng <feid@yahooinc.com>
Co-authored-by: Serris Lew <lserris@apple.com>
…ections (apache#8784)

* Propagate proxy.config.net.sock_option_flag_in to newly accepted connections

* For client connections, disable setting SO_LINGER by default

This was originally approved under apache#8463 and was reverted in apache#8622
 Conflicts:
	iocore/hostdb/HostDB.cc
	iocore/hostdb/I_HostDBProcessor.h
	plugins/lua/ts_lua_misc.c
	proxy/http/HttpSM.cc
	proxy/http/HttpTransact.cc
	proxy/http/remap/unit-tests/nexthop_test_stubs.cc
	tests/gold_tests/next_hop/strategies_ch2/strategies_ch2.test.py
	tests/gold_tests/tls/tls_verify_override_base.test.py
@SolidWallOfCode SolidWallOfCode merged commit da4ecdd into SolidWallOfCode:master Apr 11, 2022
@bneradt bneradt deleted the hostdb-restructure-merged-with-master branch March 29, 2023 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.