From 59d10ef9f7154d3107ab0f7491ae1917d67b31de Mon Sep 17 00:00:00 2001 From: Unrud Date: Thu, 16 Aug 2018 08:00:01 +0200 Subject: [PATCH] Only limit content length with internal server --- radicale/__init__.py | 5 +++-- radicale/server.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/radicale/__init__.py b/radicale/__init__.py index dd69d25..4f5af76 100644 --- a/radicale/__init__.py +++ b/radicale/__init__.py @@ -93,7 +93,7 @@ DAV_HEADERS = "1, 2, 3, calendar-access, addressbook, extended-mkcol" class Application: """WSGI application managing collections.""" - def __init__(self, configuration): + def __init__(self, configuration, internal_server=False): """Initialize application.""" super().__init__() self.configuration = configuration @@ -102,6 +102,7 @@ class Application: self.Rights = rights.load(configuration) self.Web = web.load(configuration) self.encoding = configuration.get("encoding", "request") + self.internal_server = internal_server def headers_log(self, environ): """Sanitize headers for logging.""" @@ -334,7 +335,7 @@ class Application: # Verify content length content_length = int(environ.get("CONTENT_LENGTH") or 0) - if content_length: + if self.internal_server and content_length: max_content_length = self.configuration.getint( "server", "max_content_length") if max_content_length and content_length > max_content_length: diff --git a/radicale/server.py b/radicale/server.py index 4c43964..15b1703 100644 --- a/radicale/server.py +++ b/radicale/server.py @@ -236,7 +236,7 @@ def serve(configuration): except ValueError as e: raise RuntimeError( "Failed to parse address %r: %s" % (host, e)) from e - application = Application(configuration) + application = Application(configuration, internal_server=True) try: server = wsgiref.simple_server.make_server( address, port, application, server_class, RequestHandler)