Kozea / Radicale

A simple CalDAV (calendar) and CardDAV (contact) server.
https://radicale.org
GNU General Public License v3.0
3.22k stars 424 forks source link

client timed out at PUT request #1078

Open easy-use opened 4 years ago

easy-use commented 4 years ago

Hi,

I want to use Radicale as CardDAV server. When I use Radicale with the Fitzbox client. No put request works.With Evolution as client, everything works without errors.

I think the problem is the "Expect" header field. The client may be waiting for a response to start sending the message body.

I see these errors in the log:

[2020-07-09 11:20:40 +0200] [28593/Thread-12] [INFO] PROPFIND request for '/test/' with depth '1' received from XXX.XXX.XXX.XXX using 'FRITZOS_CardDAV_Client/1.0' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] Request headers: {'CONTENT_LENGTH': '78', 'CONTENT_TYPE': 'application/xml; charset=UTF-8', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_AUTHORIZATION': 'Basic masked', 'HTTP_CONNECTION': 'close', 'HTTP_DEPTH': '1', 'HTTP_HOST': 'XXX.XXX.XXX.XXX:5232', 'HTTP_USER_AGENT': 'FRITZOS_CardDAV_Client/1.0', 'PATH_INFO': '/test/', 'QUERY_STRING': '', 'REMOTE_ADDR': 'XXX.XXX.XXX.XXX', 'REMOTE_CERTIFICATE': None, 'REMOTE_HOST': '', 'REQUEST_METHOD': 'PROPFIND', 'SCRIPT_NAME': '', 'SERVER_NAME': 'XXXXX', 'SERVER_PORT': '5232', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.2', 'wsgi.errors': <_io.TextIOWrapper name='' mode='w' encoding='UTF-8'>, 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>, 'wsgi.input': <_io.BufferedReader name=8>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)} [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] Sanitized script name: '' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] Sanitized path: '/test/' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [INFO] Successful login: 'test' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] Request content: <?xml version="1.0"?>

[2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] 'test' has write access to collection 'test' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] 'test' has write access to collection with tag 'test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] 'test' has write access to collection with tag 'test/3352500e-1689-7e6d-dfa5-7b0c9f620697' [2020-07-09 11:20:40 +0200] [28593/Thread-12] [DEBUG] Response content: <?xml version="1.0"?>

/test/ HTTP/1.1 200 OK HTTP/1.1 404 Not Found /test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f/ Test HTTP/1.1 200 OK /test/3352500e-1689-7e6d-dfa5-7b0c9f620697/ Test_2 HTTP/1.1 200 OK

[2020-07-09 11:20:40 +0200] [28593/Thread-12] [INFO] PROPFIND response status for '/test/' with depth '1' in 0.009 seconds: 207 Multi-Status [2020-07-09 11:20:41 +0200] [28593/Thread-13] [INFO] PUT request for '/test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f/wOS0KY7HHRdeKgLC7yCttr_i5zqSv85qaqEBBUj.vcf' received from XXX.XXX.XXX.XXX using 'FRITZOS_CardDAV_Client/1.0' [2020-07-09 11:20:41 +0200] [28593/Thread-13] [DEBUG] Request headers: {'CONTENT_LENGTH': '155', 'CONTENT_TYPE': 'text/vcard; charset=UTF-8', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_AUTHORIZATION': 'Basic masked', 'HTTP_CONNECTION': 'close', 'HTTP_EXPECT': '100-continue', 'HTTP_HOST': 'XXX.XXX.XXX.XXX:5232', 'HTTP_IF_NONE_MATCH': '*', 'HTTP_USER_AGENT': 'FRITZOS_CardDAV_Client/1.0', 'PATH_INFO': '/test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f/wOS0KY7HHRdeKgLC7yCttr_i5zqSv85qaqEBBUj.vcf', 'QUERY_STRING': '', 'REMOTE_ADDR': 'XXX.XXX.XXX.XXX', 'REMOTE_CERTIFICATE': None, 'REMOTE_HOST': '', 'REQUEST_METHOD': 'PUT', 'SCRIPT_NAME': '', 'SERVER_NAME': 'XXXXX', 'SERVER_PORT': '5232', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.2', 'wsgi.errors': <_io.TextIOWrapper name='' mode='w' encoding='UTF-8'>, 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>, 'wsgi.input': <_io.BufferedReader name=8>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)} [2020-07-09 11:20:41 +0200] [28593/Thread-13] [DEBUG] Sanitized script name: '' [2020-07-09 11:20:41 +0200] [28593/Thread-13] [DEBUG] Sanitized path: '/test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f/wOS0KY7HHRdeKgLC7yCttr_i5zqSv85qaqEBBUj.vcf' [2020-07-09 11:20:41 +0200] [28593/Thread-13] [INFO] Successful login: 'test' [2020-07-09 11:21:11 +0200] [28593/Thread-13] [DEBUG] client timed out Traceback (most recent call last): File "/home/home/.local/lib/python3.5/site-packages/radicale/app/put.py", line 121, in do_PUT content = self._read_content(environ) File "/home/home/.local/lib/python3.5/site-packages/radicale/app/init.py", line 325, in _read_content content = self._decode(self._read_raw_content(environ), environ) File "/home/home/.local/lib/python3.5/site-packages/radicale/app/init.py", line 319, in _read_raw_content content = environ["wsgi.input"].read(content_length) File "/usr/lib/python3.5/socket.py", line 576, in readinto return self._sock.recv_into(b) File "/usr/lib/python3.5/ssl.py", line 937, in recv_into return self.read(nbytes, buffer) File "/usr/lib/python3.5/ssl.py", line 799, in read return self._sslobj.read(len, buffer) File "/usr/lib/python3.5/ssl.py", line 583, in read v = self._sslobj.read(len, buffer) socket.timeout: The read operation timed out [2020-07-09 11:21:11 +0200] [28593/Thread-13] [DEBUG] Response content: Connection timed out. [2020-07-09 11:21:11 +0200] [28593/Thread-13] [INFO] PUT response status for '/test/d3ede2d3-fbb8-e335-27a7-a3f2432a2b6f/wOS0KY7HHRdeKgLC7yCttr_i5zqSv85qaqEBBUj.vcf' in 30.035 seconds: 408 Request Timeout

pbiering commented 4 months ago

can this be reproduced with 3.1.8? If not, please close.