From ca95fa2108abc7efdbf814661a7d4a4b2f82a8fd Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Mon, 30 May 2022 15:48:19 -0600 Subject: Revert "Revert "Merge pull request #370 from Yourun-proger/del_warnings"" This reverts commit 2784628a0fd1a38492e27384815953a44b3a3d5a. --- docs/arguments.rst | 6 +++++- src/waitress/adjustments.py | 18 ++---------------- tests/test_adjustments.py | 14 -------------- 3 files changed, 7 insertions(+), 31 deletions(-) diff --git a/docs/arguments.rst b/docs/arguments.rst index f9b9310..db765e4 100644 --- a/docs/arguments.rst +++ b/docs/arguments.rst @@ -158,7 +158,11 @@ clear_untrusted_proxy_headers "X-Forwared-For", "X-Forwarded-By", "X-Forwarded-Host", "X-Forwarded-Port", "X-Forwarded-Proto") not explicitly allowed by ``trusted_proxy_headers``. - Default: ``False`` + Default: ``True`` + + .. versionchanged:: 2.1.2 + In this version default value is set to ``True`` and deprecation warning + doesn't show up anymore. .. versionadded:: 1.2.0 diff --git a/src/waitress/adjustments.py b/src/waitress/adjustments.py index f2a852c..e08d75d 100644 --- a/src/waitress/adjustments.py +++ b/src/waitress/adjustments.py @@ -95,10 +95,6 @@ class _int_marker(int): pass -class _bool_marker: - pass - - class Adjustments: """This class contains tunable parameters.""" @@ -180,9 +176,8 @@ class Adjustments: # proxy server to filter invalid headers log_untrusted_proxy_headers = False - # Should waitress clear any proxy headers that are not deemed trusted from - # the environ? Change to True by default in 2.x - clear_untrusted_proxy_headers = _bool_marker + # Changed this parameter to True by default in 2.x + clear_untrusted_proxy_headers = True # default ``wsgi.url_scheme`` value url_scheme = "http" @@ -445,15 +440,6 @@ class Adjustments: ) self.trusted_proxy_headers = {"x-forwarded-proto"} - if self.clear_untrusted_proxy_headers is _bool_marker: - warnings.warn( - "In future versions of Waitress clear_untrusted_proxy_headers will be " - "set to True by default. You may opt-out by setting this value to " - "False, or opt-in explicitly by setting this to True.", - DeprecationWarning, - ) - self.clear_untrusted_proxy_headers = False - self.listen = wanted_sockets self.check_sockets(self.sockets) diff --git a/tests/test_adjustments.py b/tests/test_adjustments.py index 69cdf51..cbbb006 100644 --- a/tests/test_adjustments.py +++ b/tests/test_adjustments.py @@ -354,20 +354,6 @@ class TestAdjustments(unittest.TestCase): self.assertTrue(issubclass(w[0].category, DeprecationWarning)) self.assertIn("Implicitly trusting X-Forwarded-Proto", str(w[0])) - def test_clear_untrusted_proxy_headers(self): - with warnings.catch_warnings(record=True) as w: - warnings.resetwarnings() - warnings.simplefilter("always") - self._makeOne( - trusted_proxy="localhost", trusted_proxy_headers={"x-forwarded-for"} - ) - - self.assertGreaterEqual(len(w), 1) - self.assertTrue(issubclass(w[0].category, DeprecationWarning)) - self.assertIn( - "clear_untrusted_proxy_headers will be set to True", str(w[0]) - ) - def test_deprecated_send_bytes(self): with warnings.catch_warnings(record=True) as w: warnings.resetwarnings() -- cgit v1.2.1