* Fix behavior for `REVERSE_PROXY` setting when set to a boolean instead of a string
bulk-clear-sessions
Zander Work 2020-02-29 20:37:57 -08:00 committed by GitHub
parent 65a640184b
commit 2f106d4fc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -177,7 +177,7 @@ def create_app(config="CTFd.config.Config"):
reverse_proxy = app.config.get("REVERSE_PROXY") reverse_proxy = app.config.get("REVERSE_PROXY")
if reverse_proxy: if reverse_proxy:
if "," in reverse_proxy: if type(reverse_proxy) is str and "," in reverse_proxy:
proxyfix_args = [int(i) for i in reverse_proxy.split(",")] proxyfix_args = [int(i) for i in reverse_proxy.split(",")]
app.wsgi_app = ProxyFix(app.wsgi_app, None, *proxyfix_args) app.wsgi_app = ProxyFix(app.wsgi_app, None, *proxyfix_args)
else: else:

View File

@ -32,6 +32,18 @@ def test_reverse_proxy_config():
assert app.wsgi_app.x_prefix == 1 assert app.wsgi_app.x_prefix == 1
destroy_ctfd(app) destroy_ctfd(app)
class ReverseProxyConfig(TestingConfig):
REVERSE_PROXY = True
app = create_ctfd(config=ReverseProxyConfig)
with app.app_context():
assert app.wsgi_app.x_for == 1
assert app.wsgi_app.x_proto == 1
assert app.wsgi_app.x_host == 1
assert app.wsgi_app.x_port == 1
assert app.wsgi_app.x_prefix == 1
destroy_ctfd(app)
def test_server_sent_events_config(): def test_server_sent_events_config():
"""Test that SERVER_SENT_EVENTS configuration behaves properly""" """Test that SERVER_SENT_EVENTS configuration behaves properly"""