summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2022-05-30 15:48:19 -0600
committerBert JW Regeer <bertjw@regeer.org>2022-05-30 15:48:19 -0600
commitca95fa2108abc7efdbf814661a7d4a4b2f82a8fd (patch)
tree53797a2c1c53a8a01b616ff59ef31ba76351a433
parent0aa4879d08b1fa816505dbb4f42342ba1d531644 (diff)
downloadwaitress-ca95fa2108abc7efdbf814661a7d4a4b2f82a8fd.tar.gz
Revert "Revert "Merge pull request #370 from Yourun-proger/del_warnings""
This reverts commit 2784628a0fd1a38492e27384815953a44b3a3d5a.
-rw-r--r--docs/arguments.rst6
-rw-r--r--src/waitress/adjustments.py18
-rw-r--r--tests/test_adjustments.py14
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()