Skip to content

Commit

Permalink
Uncaught socket exception during timeout handling
Browse files Browse the repository at this point in the history
  • Loading branch information
ajyoung authored and webknjaz committed Apr 1, 2024
1 parent 9720c31 commit 7ce37c1
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions cheroot/ssl/pyopenssl.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,14 @@ def _safe_call(self, is_reader, call, *args, **kwargs): # noqa: C901
except SSL.WantWriteError:
time.sleep(self.ssl_retry)
except SSL.SysCallError as e:
if is_reader and e.args == (-1, 'Unexpected EOF'):
return b''
if e.args == (-1, 'Unexpected EOF'):
if is_reader:
return b''
else:
# See #210. Prevents DOS attack caused by
# silent connections lasting beyond connection
# timeout length.
raise errors.FatalSSLAlert(*e.args)

Check warning on line 109 in cheroot/ssl/pyopenssl.py

View check run for this annotation

Codecov / codecov/patch

cheroot/ssl/pyopenssl.py#L109

Added line #L109 was not covered by tests

errnum = e.args[0]
if is_reader and errnum in errors.socket_errors_to_ignore:
Expand Down

0 comments on commit 7ce37c1

Please sign in to comment.